Files
CapacityReport/ReportScript.sql
T

509 lines
19 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Update: 2026/06/25 15:33:00
SET GLOBAL wait_timeout = 86400;
SET GLOBAL innodb_buffer_pool_size = 1073741824;
DROP TABLE IF EXISTS `4G`;
DROP TABLE IF EXISTS `5G`;
DROP TABLE IF EXISTS `4G_Date`;
DROP TABLE IF EXISTS `4G_MAX`;
DROP TABLE IF EXISTS `CCE_MAX`;
DROP TABLE IF EXISTS `ULPRB_MAX`;
DROP TABLE IF EXISTS `DLPRB_MAX`;
DROP TABLE IF EXISTS `4G_MAX_IDX`;
DROP TABLE IF EXISTS `CCE_MAX_IDX`;
DROP TABLE IF EXISTS `ULPRB_MAX_IDX`;
DROP TABLE IF EXISTS `DLPRB_MAX_IDX`;
DROP TABLE IF EXISTS `日流量`;
DROP TABLE IF EXISTS `4G日均流量`;
DROP TABLE IF EXISTS `4G_结果表`;
DROP TABLE IF EXISTS `5G_Date`;
DROP TABLE IF EXISTS `5G_MAX`;
DROP TABLE IF EXISTS `5G_MAX_IDX`;
DROP TABLE IF EXISTS `5G日均流量`;
DROP TABLE IF EXISTS `5G_结果表`;
UPDATE `4G_UD` SET
`上下行总流量_GB` = IFNULL(`上下行总流量_GB`,0),
`ERAB流量` = IFNULL(`ERAB流量`,0),
`上行流量_GB` = IFNULL(`上行流量_GB`,0),
`下行流量_GB` = IFNULL(`下行流量_GB`,0),
`用户面平均激活UE数` = IFNULL(`用户面平均激活UE数`,0),
`RRC连接建立最大用户数` = IFNULL(`RRC连接建立最大用户数`,0),
`上行PUSCH利用率` = IFNULL(`上行PUSCH利用率`,0),
`下行PDSCH利用率` = IFNULL(`下行PDSCH利用率`,0),
`PDCCH资源利用率` = IFNULL(`PDCCH资源利用率`,0),
`用户面最大激活UE数` = IFNULL(`用户面最大激活UE数`,0);
UPDATE `5G_UD` SET
`5G上下行总流量_GB` = IFNULL(`5G上下行总流量_GB`,0),
`5G上行流量_GB` = IFNULL(`5G上行流量_GB`,0),
`5G下行流量_GB` = IFNULL(`5G下行流量_GB`,0),
`小区平均激活UE数` = IFNULL(`小区平均激活UE数`,0),
`RRC连接最大连接用户数` = IFNULL(`RRC连接最大连接用户数`,0),
`RRC连接平均连接用户数` = IFNULL(`RRC连接平均连接用户数`,0),
`小区最大激活UE数` = IFNULL(`小区最大激活UE数`,0),
`上行PRB平均利用率` = IFNULL(`上行PRB平均利用率`,0),
`下行PRB平均利用率` = IFNULL(`下行PRB平均利用率`,0),
`小区下行RLC_SDU字节数_MByte` = IFNULL(`小区下行RLC_SDU字节数_MByte`,0),
`小区上行RLC_SDU字节数_MByte` = IFNULL(`小区上行RLC_SDU字节数_MByte`,0),
`PDCCH信道动态CCE占用率` = IFNULL(`PDCCH信道动态CCE占用率`,0),
`平均单Flow流量_MB` = IFNULL(`平均单Flow流量_MB`,0);
CREATE TABLE `4G` AS SELECT * FROM `4G_UD`;
CREATE TABLE `5G` AS SELECT * FROM `5G_UD`;
ALTER TABLE `4G`
ADD COLUMN `日期` date NULL FIRST,
MODIFY COLUMN `日期时间` datetime,
ADD COLUMN `CGI` varchar(100) NULL AFTER `日期时间`,
MODIFY COLUMN `网元ID` int,
MODIFY COLUMN `基站名称` varchar(200),
MODIFY COLUMN `小区名称` varchar(200),
MODIFY COLUMN `cellLocalId` int,
MODIFY COLUMN `eNodeBId` int,
MODIFY COLUMN `上下行总流量_GB` float,
MODIFY COLUMN `ERAB流量` float,
MODIFY COLUMN `上行流量_GB` float,
MODIFY COLUMN `下行流量_GB` float,
MODIFY COLUMN `用户面平均激活UE数` float,
MODIFY COLUMN `RRC连接建立最大用户数` int,
MODIFY COLUMN `上行PUSCH利用率` float,
MODIFY COLUMN `下行PDSCH利用率` float,
MODIFY COLUMN `PDCCH资源利用率` float,
MODIFY COLUMN `用户面最大激活UE数` int;
ALTER TABLE `5G`
ADD COLUMN `日期` date NULL FIRST,
MODIFY COLUMN `日期时间` datetime,
ADD COLUMN `NCGI` varchar(100) NULL AFTER `日期时间`,
MODIFY COLUMN `网元ID` int,
MODIFY COLUMN `CU小区配置名称` varchar(200),
MODIFY COLUMN `cellLocalId` int,
MODIFY COLUMN `gNBId` int,
MODIFY COLUMN `gNBplmn` varchar(200),
MODIFY COLUMN `5G上下行总流量_GB` float,
MODIFY COLUMN `5G上行流量_GB` float,
MODIFY COLUMN `5G下行流量_GB` float,
MODIFY COLUMN `小区平均激活UE数` float,
MODIFY COLUMN `RRC连接最大连接用户数` int,
MODIFY COLUMN `RRC连接平均连接用户数` float,
MODIFY COLUMN `小区最大激活UE数` float,
MODIFY COLUMN `上行PRB平均利用率` float,
MODIFY COLUMN `下行PRB平均利用率` float,
MODIFY COLUMN `小区下行RLC_SDU字节数_MByte` float,
MODIFY COLUMN `小区上行RLC_SDU字节数_MByte` float,
MODIFY COLUMN `PDCCH信道动态CCE占用率` float,
MODIFY COLUMN `平均单Flow流量_MB` float;
UPDATE `4G` SET `日期` = DATE_FORMAT(`日期时间`, '%Y-%m-%d'), `CGI` = CONCAT("460-00-",`eNodeBId`,"-",`cellLocalId`);
UPDATE `5G` SET `gNBplmn` = "460-00" WHERE `gNBplmn` IS NULL;
UPDATE `5G` SET `日期` = DATE_FORMAT(`日期时间`, '%Y-%m-%d'), `NCGI` = CONCAT(`gNBplmn`,"-",`gNBId`,"-",`cellLocalId`);
ALTER TABLE `4G`
ADD INDEX(`日期`),
ADD INDEX(`日期时间`),
ADD INDEX(`CGI`),
ADD INDEX `TC`(`日期时间`, `CGI`),
ADD INDEX `DC`(`日期`, `CGI`);
ALTER TABLE `5G`
ADD INDEX(`日期`),
ADD INDEX(`日期时间`),
ADD INDEX(`NCGI`),
ADD INDEX `TC`(`日期时间`, `NCGI`),
ADD INDEX `DC`(`日期`, `NCGI`);
CREATE TEMPORARY TABLE IF NOT EXISTS `CCE_MAX_IDX`(
SELECT
`日期`,
`CGI`,
MAX(`PDCCH资源利用率`) AS `PDCCH资源利用率_忙时`
FROM `4G`
GROUP BY `日期`, `CGI`
);
ALTER TABLE `CCE_MAX_IDX`
ADD COLUMN `日期时间` datetime,
ADD INDEX `DC`(`日期`, `CGI`, `PDCCH资源利用率_忙时`),
ADD INDEX `TC`(`日期时间`, `CGI`);
UPDATE `CCE_MAX_IDX` INNER JOIN `4G`
ON
`CCE_MAX_IDX`.`日期` = `4G`.`日期` AND
`CCE_MAX_IDX`.`CGI` = `4G`.`CGI` AND
`CCE_MAX_IDX`.`PDCCH资源利用率_忙时` = `4G`.`PDCCH资源利用率`
SET
`CCE_MAX_IDX`.`日期时间` = `4G`.`日期时间`;
CREATE TEMPORARY TABLE IF NOT EXISTS `CCE_MAX` (
SELECT `4G`.*
FROM `CCE_MAX_IDX` LEFT JOIN `4G`
ON `CCE_MAX_IDX`.`CGI` = `4G`.`CGI` AND
`CCE_MAX_IDX`.`日期时间` = `4G`.`日期时间`
);
DROP TABLE IF EXISTS `CCE_MAX_IDX`;
CREATE TEMPORARY TABLE IF NOT EXISTS `ULPRB_MAX_IDX`(
SELECT
`日期`,
`CGI`,
MAX(`上行PUSCH利用率`) AS `上行PUSCH利用率_忙时`
FROM `4G`
GROUP BY `日期`, `CGI`
);
ALTER TABLE `ULPRB_MAX_IDX`
ADD COLUMN `日期时间` datetime,
ADD INDEX `DC`(`日期`, `CGI`, `上行PUSCH利用率_忙时`),
ADD INDEX `TC`(`日期时间`, `CGI`);
UPDATE `ULPRB_MAX_IDX` INNER JOIN `4G`
ON
`ULPRB_MAX_IDX`.`日期` = `4G`.`日期` AND
`ULPRB_MAX_IDX`.`CGI` = `4G`.`CGI` AND
`ULPRB_MAX_IDX`.`上行PUSCH利用率_忙时` = `4G`.`上行PUSCH利用率`
SET
`ULPRB_MAX_IDX`.`日期时间` = `4G`.`日期时间`;
CREATE TABLE IF NOT EXISTS `ULPRB_MAX` (
SELECT `4G`.*
FROM `ULPRB_MAX_IDX` LEFT JOIN `4G`
ON `ULPRB_MAX_IDX`.`CGI` = `4G`.`CGI` AND
`ULPRB_MAX_IDX`.`日期时间` = `4G`.`日期时间`
);
DROP TABLE IF EXISTS `ULPRB_MAX_IDX`;
CREATE TEMPORARY TABLE IF NOT EXISTS `DLPRB_MAX_IDX`(
SELECT `日期`, `CGI`, MAX(`下行PDSCH利用率`) AS `下行PDSCH利用率_忙时`
FROM `4G` GROUP BY `日期`, `CGI`
);
ALTER TABLE `DLPRB_MAX_IDX`
ADD COLUMN `日期时间` datetime,
ADD INDEX `DC`(`日期`, `CGI`, `下行PDSCH利用率_忙时`),
ADD INDEX `TC`(`日期时间`, `CGI`);
UPDATE `DLPRB_MAX_IDX` INNER JOIN `4G`
ON
`DLPRB_MAX_IDX`.`日期` = `4G`.`日期` AND
`DLPRB_MAX_IDX`.`CGI` = `4G`.`CGI` AND
`DLPRB_MAX_IDX`.`下行PDSCH利用率_忙时` = `4G`.`下行PDSCH利用率`
SET
`DLPRB_MAX_IDX`.`日期时间` = `4G`.`日期时间`;
CREATE TEMPORARY TABLE IF NOT EXISTS `DLPRB_MAX` (
SELECT `4G`.*
FROM `DLPRB_MAX_IDX` LEFT JOIN `4G`
ON `DLPRB_MAX_IDX`.`CGI` = `4G`.`CGI` AND
`DLPRB_MAX_IDX`.`日期时间` = `4G`.`日期时间`
);
DROP TABLE IF EXISTS `DLPRB_MAX_IDX`;
ALTER TABLE `CCE_MAX` ADD INDEX `DC`(`日期`, `CGI`);
ALTER TABLE `DLPRB_MAX` ADD INDEX `DC`(`日期`, `CGI`);
ALTER TABLE `ULPRB_MAX` ADD INDEX `DC`(`日期`, `CGI`);
CREATE TEMPORARY TABLE IF NOT EXISTS `4G_Date` (SELECT `日期`, `CGI` FROM `4G` GROUP BY `日期`, `CGI`);
ALTER TABLE `4G_Date` ADD INDEX `DC`(`日期`, `CGI`);
CREATE TEMPORARY TABLE IF NOT EXISTS `4G_MAX_IDX` (
SELECT
`4G_Date`.`日期`,
`4G_Date`.`CGI`,
GREATEST(`ULPRB_MAX`.`上行PUSCH利用率`, `DLPRB_MAX`.`下行PDSCH利用率`, `CCE_MAX`.`PDCCH资源利用率`) AS `最大值`
FROM
`4G_Date`
INNER JOIN
`DLPRB_MAX`
ON
`4G_Date`.`日期` = `DLPRB_MAX`.`日期` AND
`4G_Date`.`CGI` = `DLPRB_MAX`.`CGI`
INNER JOIN
`CCE_MAX`
ON
`4G_Date`.`日期` = `CCE_MAX`.`日期` AND
`4G_Date`.`CGI` = `CCE_MAX`.`CGI`
INNER JOIN
`ULPRB_MAX`
ON
`4G_Date`.`日期` = `ULPRB_MAX`.`日期` AND
`4G_Date`.`CGI` = `ULPRB_MAX`.`CGI`
);
DROP TABLE IF EXISTS `4G_Date`;
ALTER TABLE `4G_MAX_IDX` ADD INDEX `DC`(`日期`, `CGI`), ADD INDEX (`最大值`);
CREATE TABLE IF NOT EXISTS `4G_MAX` (
SELECT * FROM `4G` LIMIT 0
);
ALTER TABLE `4G_MAX` ADD INDEX (`日期`), ADD INDEX (`CGI`), ADD INDEX `DC` (`日期`, `CGI`), ADD INDEX `idx`(`CGI`, `基站名称`, `小区名称`);
TRUNCATE `4G_MAX`;
INSERT INTO `4G_MAX`
SELECT `ULPRB_MAX`.* FROM `ULPRB_MAX` INNER JOIN `4G_MAX_IDX`
ON
`ULPRB_MAX`.`日期` = `4G_MAX_IDX`.`日期` AND
`ULPRB_MAX`.`CGI` = `4G_MAX_IDX`.`CGI` AND
`ULPRB_MAX`.`上行PUSCH利用率` = `4G_MAX_IDX`.`最大值`;
DELETE FROM `DLPRB_MAX` WHERE `日期` IS NULL;
INSERT INTO `4G_MAX`
SELECT `DLPRB_MAX`.* FROM `DLPRB_MAX` INNER JOIN `4G_MAX_IDX`
ON
`DLPRB_MAX`.`日期` = `4G_MAX_IDX`.`日期` AND
`DLPRB_MAX`.`CGI` = `4G_MAX_IDX`.`CGI` AND
`DLPRB_MAX`.`下行PDSCH利用率` = `4G_MAX_IDX`.`最大值`
WHERE NOT EXISTS (
SELECT 1 FROM `4G_MAX`
WHERE `4G_MAX`.`日期` = `DLPRB_MAX`.`日期`
AND `4G_MAX`.`CGI` = `DLPRB_MAX`.`CGI`
);
DELETE FROM `CCE_MAX` WHERE `日期` IS NULL;
INSERT INTO `4G_MAX`
SELECT `CCE_MAX`.* FROM `CCE_MAX` INNER JOIN `4G_MAX_IDX`
ON
`CCE_MAX`.`日期` = `4G_MAX_IDX`.`日期` AND
`CCE_MAX`.`CGI` = `4G_MAX_IDX`.`CGI` AND
`CCE_MAX`.`PDCCH资源利用率` = `4G_MAX_IDX`.`最大值`
WHERE NOT EXISTS (
SELECT 1 FROM `4G_MAX`
WHERE `4G_MAX`.`日期` = `CCE_MAX`.`日期`
AND `4G_MAX`.`CGI` = `CCE_MAX`.`CGI`
);
DROP TABLE IF EXISTS `CCE_MAX`;
DROP TABLE IF EXISTS `ULPRB_MAX`;
DROP TABLE IF EXISTS `DLPRB_MAX`;
DROP TABLE IF EXISTS `4G_MAX_IDX`;
CREATE TEMPORARY TABLE IF NOT EXISTS `日流量`(SELECT `日期`, `CGI`, SUM(`上下行总流量_GB`) AS `日流量` FROM `4G` GROUP BY `日期`, `CGI`);
ALTER TABLE `日流量` ADD INDEX (`CGI`);
DROP TABLE IF EXISTS `4G日均流量`;
CREATE TEMPORARY TABLE IF NOT EXISTS `4G日均流量` (
SELECT `CGI`, AVG(`日流量`) AS `日均流量`, COUNT(`日期`) AS `流量有效天数` FROM `日流量` WHERE `日流量` > 0 GROUP BY `CGI`
);
CREATE TABLE IF NOT EXISTS `4G_结果表` (
SELECT `CGI`, `基站名称`, `小区名称`,
ROUND(AVG(`上下行总流量_GB`),6) AS `自忙时流量(GB)`,
ROUND(AVG(`ERAB流量`),6) AS `ERAB流量`,
ROUND(AVG(`上行流量_GB`),6) AS `上行流量(GB)`,
ROUND(AVG(`下行流量_GB`),6) AS `下行流量(GB)`,
ROUND(AVG(`用户面平均激活UE数`),6) AS `用户面平均激活UE数`,
ROUND(AVG(`RRC连接建立最大用户数`),6) AS `YY-RRC连接建立最大用户数`,
ROUND(AVG(`上行PUSCH利用率`),6) AS `上行PUSCH利用率`,
ROUND(AVG(`下行PDSCH利用率`),6) AS `下行PDSCH利用率`,
ROUND(AVG(`PDCCH资源利用率`),6) AS `PDCCH资源利用率`,
ROUND(AVG(`用户面最大激活UE数`),6) AS `用户面最大激活UE数`
FROM `4G_MAX` GROUP BY `CGI`, `基站名称`, `小区名称`
);
DROP TABLE IF EXISTS `4G_MAX`;
ALTER TABLE `4G_结果表` ADD COLUMN `日均流量(GB)` DOUBLE AFTER `小区名称`, ADD INDEX (`CGI`);
ALTER TABLE `4G日均流量` ADD INDEX (`CGI`);
UPDATE `4G_结果表` INNER JOIN `4G日均流量`
ON `4G_结果表`.`CGI` = `4G日均流量`.`CGI`
SET `4G_结果表`.`日均流量(GB)` = ROUND(`4G日均流量`.`日均流量`,6);
DROP TABLE IF EXISTS `日流量`;
DROP TABLE IF EXISTS `4G日均流量`;
DROP TABLE IF EXISTS `4G`;
# 5G脚本
CREATE TEMPORARY TABLE IF NOT EXISTS `ULPRB_MAX_IDX`(
SELECT
`日期`,
`NCGI`,
MAX(`上行PRB平均利用率`) AS `上行PRB平均利用率_忙时`
FROM `5G`
GROUP BY `日期`, `NCGI`
);
ALTER TABLE `ULPRB_MAX_IDX`
ADD COLUMN `日期时间` datetime,
ADD INDEX `DC`(`日期`, `NCGI`, `上行PRB平均利用率_忙时`),
ADD INDEX `TC`(`日期时间`, `NCGI`);
UPDATE `ULPRB_MAX_IDX` INNER JOIN `5G`
ON
`ULPRB_MAX_IDX`.`日期` = `5G`.`日期` AND
`ULPRB_MAX_IDX`.`NCGI` = `5G`.`NCGI` AND
`ULPRB_MAX_IDX`.`上行PRB平均利用率_忙时` = `5G`.`上行PRB平均利用率`
SET
`ULPRB_MAX_IDX`.`日期时间` = `5G`.`日期时间`;
CREATE TEMPORARY TABLE IF NOT EXISTS `ULPRB_MAX` (
SELECT `5G`.*
FROM `ULPRB_MAX_IDX` LEFT JOIN `5G`
ON `ULPRB_MAX_IDX`.`NCGI` = `5G`.`NCGI` AND
`ULPRB_MAX_IDX`.`日期时间` = `5G`.`日期时间`
);
CREATE TEMPORARY TABLE IF NOT EXISTS `DLPRB_MAX_IDX`(
SELECT
`日期`,
`NCGI`,
MAX(`下行PRB平均利用率`) AS `下行PRB平均利用率_忙时`
FROM `5G`
GROUP BY `日期`, `NCGI`
);
ALTER TABLE `DLPRB_MAX_IDX`
ADD COLUMN `日期时间` datetime,
ADD INDEX `DC`(`日期`, `NCGI`, `下行PRB平均利用率_忙时`),
ADD INDEX `TC`(`日期时间`, `NCGI`);
UPDATE `DLPRB_MAX_IDX` INNER JOIN `5G`
ON
`DLPRB_MAX_IDX`.`日期` = `5G`.`日期` AND
`DLPRB_MAX_IDX`.`NCGI` = `5G`.`NCGI` AND
`DLPRB_MAX_IDX`.`下行PRB平均利用率_忙时` = `5G`.`下行PRB平均利用率`
SET
`DLPRB_MAX_IDX`.`日期时间` = `5G`.`日期时间`;
CREATE TEMPORARY TABLE IF NOT EXISTS `DLPRB_MAX` (
SELECT `5G`.*
FROM `DLPRB_MAX_IDX` LEFT JOIN `5G`
ON `DLPRB_MAX_IDX`.`NCGI` = `5G`.`NCGI` AND
`DLPRB_MAX_IDX`.`日期时间` = `5G`.`日期时间`
);
DROP TABLE IF EXISTS `DLPRB_MAX_IDX`;
ALTER TABLE `DLPRB_MAX` ADD INDEX `DC`(`日期`, `NCGI`);
ALTER TABLE `ULPRB_MAX` ADD INDEX `DC`(`日期`, `NCGI`);
DROP TABLE IF EXISTS `5G_Date`;
CREATE TEMPORARY TABLE IF NOT EXISTS `5G_Date` (
SELECT `日期`, `NCGI` FROM `5G` GROUP BY `日期`, `NCGI`
);
ALTER TABLE `5G_Date` ADD INDEX `DC`(`日期`, `NCGI`);
CREATE TEMPORARY TABLE IF NOT EXISTS `5G_MAX_IDX` (
SELECT
`5G_Date`.`日期`,
`5G_Date`.`NCGI`,
GREATEST(`ULPRB_MAX`.`上行PRB平均利用率`, `DLPRB_MAX`.`下行PRB平均利用率`) AS `最大值`
FROM
`5G_Date`
INNER JOIN
`DLPRB_MAX`
ON
`5G_Date`.`日期` = `DLPRB_MAX`.`日期` AND
`5G_Date`.`NCGI` = `DLPRB_MAX`.`NCGI`
INNER JOIN
`ULPRB_MAX`
ON
`5G_Date`.`日期` = `ULPRB_MAX`.`日期` AND
`5G_Date`.`NCGI` = `ULPRB_MAX`.`NCGI`
);
DROP TABLE IF EXISTS `5G_Date`;
ALTER TABLE `5G_MAX_IDX` ADD INDEX `DC`(`日期`, `NCGI`), ADD INDEX (`最大值`);
CREATE TABLE IF NOT EXISTS `5G_MAX` (
SELECT * FROM `5G` LIMIT 0
);
ALTER TABLE `5G_MAX` ADD INDEX (`日期`), ADD INDEX (`NCGI`), ADD INDEX `DC` (`日期`, `NCGI`), ADD INDEX `idx`(`NCGI`, `CU小区配置名称`);
TRUNCATE `5G_MAX`;
INSERT INTO `5G_MAX`
SELECT `ULPRB_MAX`.* FROM `ULPRB_MAX` INNER JOIN `5G_MAX_IDX`
ON
`ULPRB_MAX`.`日期` = `5G_MAX_IDX`.`日期` AND
`ULPRB_MAX`.`NCGI` = `5G_MAX_IDX`.`NCGI` AND
`ULPRB_MAX`.`上行PRB平均利用率` = `5G_MAX_IDX`.`最大值`;
DELETE FROM `DLPRB_MAX` WHERE `日期` IS NULL;
INSERT INTO `5G_MAX`
SELECT `DLPRB_MAX`.* FROM `DLPRB_MAX` INNER JOIN `5G_MAX_IDX`
ON
`DLPRB_MAX`.`日期` = `5G_MAX_IDX`.`日期` AND
`DLPRB_MAX`.`NCGI` = `5G_MAX_IDX`.`NCGI` AND
`DLPRB_MAX`.`下行PRB平均利用率` = `5G_MAX_IDX`.`最大值`
WHERE NOT EXISTS (
SELECT 1 FROM `5G_MAX`
WHERE `5G_MAX`.`日期` = `DLPRB_MAX`.`日期`
AND `5G_MAX`.`NCGI` = `DLPRB_MAX`.`NCGI`
);
DROP TABLE IF EXISTS `ULPRB_MAX`;
DROP TABLE IF EXISTS `DLPRB_MAX`;
DROP TABLE IF EXISTS `5G_MAX_IDX`;
CREATE TEMPORARY TABLE IF NOT EXISTS `日流量`(SELECT `日期`, `NCGI`, SUM(`5G上下行总流量_GB`) AS `日流量` FROM `5G` GROUP BY `日期`, `NCGI`);
ALTER TABLE `日流量` ADD INDEX (`NCGI`);
CREATE TEMPORARY TABLE IF NOT EXISTS `5G日均流量` (
SELECT `NCGI`, AVG(`日流量`) AS `日均流量`, COUNT(`日期`) AS `流量有效天数` FROM `日流量` WHERE `日流量` > 0 GROUP BY `NCGI`
);
CREATE TABLE IF NOT EXISTS `5G_结果表` (
SELECT `NCGI`, `CU小区配置名称`,
ROUND(AVG(`5G上下行总流量_GB`),6) AS `5G上下行总流量(上行PDCP PDU数据量+下行PDCP成功发送数据量)(GB)`,
ROUND(AVG(`5G上行流量_GB`),6) AS `5G上行流量(上行PDCP PDU数据量)(GB)`,
ROUND(AVG(`5G下行流量_GB`),6) AS `5G下行流量(下行PDCP成功发送数据量)(GB)`,
ROUND(AVG(`小区平均激活UE数`),6) AS `小区平均激活UE数`,
ROUND(AVG(`RRC连接最大连接用户数`),6) AS `RRC连接最大连接用户数`,
ROUND(AVG(`RRC连接平均连接用户数`),6) AS `RRC连接平均连接用户数`,
ROUND(AVG(`小区最大激活UE数`),6) AS `小区最大激活UE数`,
ROUND(AVG(`上行PRB平均利用率`),6) AS `上行PRB平均利用率`,
ROUND(AVG(`下行PRB平均利用率`),6) AS `下行PRB平均利用率`,
ROUND(AVG(`PDCCH信道动态CCE占用率`),6) AS `PDCCH信道CCE占用率(动态)(%)`,
ROUND(AVG(`小区下行RLC_SDU字节数_MByte`),6) AS `小区下行RLC SDU字节数(MByte)`,
ROUND(AVG(`小区上行RLC_SDU字节数_MByte`),6) AS `小区上行RLC SDU字节数(MByte)`,
ROUND(AVG(`平均单Flow流量_MB`),6) AS `单Flow流量(MB)`
FROM `5G_MAX` GROUP BY `NCGI`, `CU小区配置名称`
);
ALTER TABLE `5G_结果表` ADD COLUMN `日均流量(GB)` DOUBLE AFTER `CU小区配置名称`, ADD INDEX (`NCGI`);
ALTER TABLE `5G日均流量` ADD INDEX (`NCGI`);
UPDATE `5G_结果表` INNER JOIN `5G日均流量`
ON `5G_结果表`.`NCGI` = `5G日均流量`.`NCGI`
SET `5G_结果表`.`日均流量(GB)` = ROUND(`5G日均流量`.`日均流量`,6);
DROP TABLE IF EXISTS `日流量`;
DROP TABLE IF EXISTS `5G日均流量`;
DROP TABLE IF EXISTS `4G`;
DROP TABLE IF EXISTS `5G`;
DROP TABLE IF EXISTS `5G_MAX`;
UPDATE `4G_结果表` SET `日均流量(GB)` = IFNULL(`日均流量(GB)`, 0),
`自忙时流量(GB)` = IFNULL(`自忙时流量(GB)`, 0),
`ERAB流量` = IFNULL(`ERAB流量`, 0),
`上行流量(GB)` = IFNULL(`上行流量(GB)`, 0),
`下行流量(GB)` = IFNULL(`下行流量(GB)`, 0),
`用户面平均激活UE数` = IFNULL(`用户面平均激活UE数`, 0),
`YY-RRC连接建立最大用户数` = IFNULL(`YY-RRC连接建立最大用户数`, 0),
`上行PUSCH利用率` = IFNULL(`上行PUSCH利用率`, 0),
`下行PDSCH利用率` = IFNULL(`下行PDSCH利用率`, 0),
`PDCCH资源利用率` = IFNULL(`PDCCH资源利用率`, 0),
`用户面最大激活UE数` = IFNULL(`用户面最大激活UE数`, 0);
UPDATE `5G_结果表` SET
`日均流量(GB)` = IFNULL(`日均流量(GB)`,0),
`5G上下行总流量(上行PDCP PDU数据量+下行PDCP成功发送数据量)(GB)` = IFNULL(`5G上下行总流量(上行PDCP PDU数据量+下行PDCP成功发送数据量)(GB)`,0),
`5G上行流量(上行PDCP PDU数据量)(GB)` = IFNULL(`5G上行流量(上行PDCP PDU数据量)(GB)`,0),
`5G下行流量(下行PDCP成功发送数据量)(GB)` = IFNULL(`5G下行流量(下行PDCP成功发送数据量)(GB)`,0),
`小区平均激活UE数` = IFNULL(`小区平均激活UE数`,0),
`RRC连接最大连接用户数` = IFNULL(`RRC连接最大连接用户数`,0),
`RRC连接平均连接用户数` = IFNULL(`RRC连接平均连接用户数`,0),
`小区最大激活UE数` = IFNULL(`小区最大激活UE数`,0),
`上行PRB平均利用率` = IFNULL(`上行PRB平均利用率`,0),
`下行PRB平均利用率` = IFNULL(`下行PRB平均利用率`,0),
`PDCCH信道CCE占用率(动态)(%)` = IFNULL(`PDCCH信道CCE占用率(动态)(%)`,0),
`小区下行RLC SDU字节数(MByte)` = IFNULL(`小区下行RLC SDU字节数(MByte)`,0),
`小区上行RLC SDU字节数(MByte)` = IFNULL(`小区上行RLC SDU字节数(MByte)`,0),
`单Flow流量(MB)` = IFNULL(`单Flow流量(MB)`,0);