feat: 更新4G和5G数据表,添加IFNULL处理以确保数据完整性
This commit is contained in:
+173
-25
@@ -1,4 +1,4 @@
|
|||||||
# Update: 2024/11/25 09:30:00
|
# Update: 2026/04/28 17:54:00
|
||||||
|
|
||||||
SET GLOBAL wait_timeout = 86400;
|
SET GLOBAL wait_timeout = 86400;
|
||||||
DROP TABLE IF EXISTS `4G`;
|
DROP TABLE IF EXISTS `4G`;
|
||||||
@@ -22,12 +22,38 @@ DROP TABLE IF EXISTS `5G_MAX_IDX`;
|
|||||||
DROP TABLE IF EXISTS `5G日均流量`;
|
DROP TABLE IF EXISTS `5G日均流量`;
|
||||||
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 `4G` AS SELECT * FROM `4G_UD`;
|
||||||
CREATE TABLE `5G` AS SELECT * FROM `5G_UD`;
|
CREATE TABLE `5G` AS SELECT * FROM `5G_UD`;
|
||||||
|
|
||||||
UPDATE 4G SET `日期时间` = DATE_FORMAT(`日期时间`, '%Y-%m-%d %H:%i:%s');
|
UPDATE 4G SET `日期时间` = DATE_FORMAT(DATE_ADD(`日期时间`,INTERVAL 8 HOUR), '%Y-%m-%d %H:%i:%s');
|
||||||
UPDATE 5G SET `日期时间` = DATE_FORMAT(`日期时间`, '%Y-%m-%d %H:%i:%s');
|
UPDATE 5G SET `日期时间` = DATE_FORMAT(DATE_ADD(`日期时间`,INTERVAL 8 HOUR), '%Y-%m-%d %H:%i:%s');
|
||||||
|
|
||||||
ALTER TABLE `4G`
|
ALTER TABLE `4G`
|
||||||
ADD COLUMN `日期` date NULL FIRST,
|
ADD COLUMN `日期` date NULL FIRST,
|
||||||
@@ -91,7 +117,14 @@ ADD INDEX `TC`(`日期时间`, `NCGI`),
|
|||||||
ADD INDEX `DC`(`日期`, `NCGI`);
|
ADD INDEX `DC`(`日期`, `NCGI`);
|
||||||
|
|
||||||
|
|
||||||
CREATE TEMPORARY TABLE IF NOT EXISTS `CCE_MAX_IDX` AS SELECT `日期`, CGI, MAX(`PDCCH资源利用率`) AS `PDCCH资源利用率_忙时` FROM 4G GROUP BY `日期`, CGI;
|
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`
|
ALTER TABLE `CCE_MAX_IDX`
|
||||||
ADD COLUMN `日期时间` datetime,
|
ADD COLUMN `日期时间` datetime,
|
||||||
@@ -107,11 +140,23 @@ SET
|
|||||||
`CCE_MAX_IDX`.`日期时间`=4G.`日期时间`;
|
`CCE_MAX_IDX`.`日期时间`=4G.`日期时间`;
|
||||||
|
|
||||||
|
|
||||||
CREATE TEMPORARY TABLE IF NOT EXISTS `CCE_MAX` AS SELECT 4G.* FROM `CCE_MAX_IDX` LEFT JOIN 4G ON `CCE_MAX_IDX`.CGI=4G.CGI AND `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`;
|
DROP TABLE IF EXISTS `CCE_MAX_IDX`;
|
||||||
|
|
||||||
CREATE TEMPORARY TABLE IF NOT EXISTS `ULPRB_MAX_IDX` AS SELECT `日期`, CGI, MAX(`上行PUSCH利用率`) AS `上行PUSCH利用率_忙时` FROM 4G GROUP BY `日期`, CGI;
|
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`
|
ALTER TABLE `ULPRB_MAX_IDX`
|
||||||
ADD COLUMN `日期时间` datetime,
|
ADD COLUMN `日期时间` datetime,
|
||||||
@@ -135,7 +180,7 @@ CREATE TABLE IF NOT EXISTS `ULPRB_MAX` (
|
|||||||
|
|
||||||
DROP TABLE IF EXISTS `ULPRB_MAX_IDX`;
|
DROP TABLE IF EXISTS `ULPRB_MAX_IDX`;
|
||||||
|
|
||||||
CREATE TEMPORARY TABLE IF NOT EXISTS `DLPRB_MAX_IDX` AS SELECT `日期`, CGI, MAX(`下行PDSCH利用率`) AS `下行PDSCH利用率_忙时` FROM 4G GROUP BY `日期`, CGI;
|
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`
|
ALTER TABLE `DLPRB_MAX_IDX`
|
||||||
ADD COLUMN `日期时间` datetime,
|
ADD COLUMN `日期时间` datetime,
|
||||||
@@ -150,7 +195,12 @@ ON
|
|||||||
SET
|
SET
|
||||||
`DLPRB_MAX_IDX`.`日期时间`=4G.`日期时间`;
|
`DLPRB_MAX_IDX`.`日期时间`=4G.`日期时间`;
|
||||||
|
|
||||||
CREATE TEMPORARY TABLE IF NOT EXISTS `DLPRB_MAX` AS SELECT 4G.* FROM `DLPRB_MAX_IDX` LEFT JOIN 4G ON `DLPRB_MAX_IDX`.CGI=4G.CGI AND `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`;
|
DROP TABLE IF EXISTS `DLPRB_MAX_IDX`;
|
||||||
|
|
||||||
@@ -160,11 +210,33 @@ ALTER TABLE `ULPRB_MAX` ADD INDEX `DC`(`日期`, `CGI`);
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
CREATE TEMPORARY TABLE IF NOT EXISTS `4G_Date` AS SELECT `日期`, CGI FROM 4G GROUP BY `日期`, CGI;
|
CREATE TEMPORARY TABLE IF NOT EXISTS `4G_Date` (SELECT `日期`, CGI FROM 4G GROUP BY `日期`, CGI);
|
||||||
ALTER TABLE `4G_Date` ADD INDEX `DC`(`日期`, CGI);
|
ALTER TABLE `4G_Date` ADD INDEX `DC`(`日期`, CGI);
|
||||||
|
|
||||||
|
|
||||||
CREATE TEMPORARY TABLE IF NOT EXISTS `4G_MAX_IDX` AS 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;
|
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`;
|
DROP TABLE IF EXISTS `4G_Date`;
|
||||||
ALTER TABLE `4G_MAX_IDX` ADD INDEX `DC`(`日期`, CGI), ADD INDEX (`最大值`);
|
ALTER TABLE `4G_MAX_IDX` ADD INDEX `DC`(`日期`, CGI), ADD INDEX (`最大值`);
|
||||||
|
|
||||||
@@ -189,6 +261,7 @@ INSERT INTO `4G_MAX`
|
|||||||
ULPRB_MAX.CGI = 4G_MAX_IDX.`CGI` AND
|
ULPRB_MAX.CGI = 4G_MAX_IDX.`CGI` AND
|
||||||
ULPRB_MAX.`上行PUSCH利用率` = 4G_MAX_IDX.`最大值`;
|
ULPRB_MAX.`上行PUSCH利用率` = 4G_MAX_IDX.`最大值`;
|
||||||
|
|
||||||
|
DELETE FROM DLPRB_MAX WHERE `日期` IS NULL;
|
||||||
UPDATE DLPRB_MAX INNER JOIN 4G_MAX ON DLPRB_MAX.`日期` = 4G_MAX.`日期` AND DLPRB_MAX.CGI = 4G_MAX.CGI SET DLPRB_MAX.`insert` = 1;
|
UPDATE DLPRB_MAX INNER JOIN 4G_MAX ON DLPRB_MAX.`日期` = 4G_MAX.`日期` AND DLPRB_MAX.CGI = 4G_MAX.CGI SET DLPRB_MAX.`insert` = 1;
|
||||||
ALTER TABLE DLPRB_MAX ADD INDEX (`insert`);
|
ALTER TABLE DLPRB_MAX ADD INDEX (`insert`);
|
||||||
DELETE FROM DLPRB_MAX WHERE `insert` = 1;
|
DELETE FROM DLPRB_MAX WHERE `insert` = 1;
|
||||||
@@ -200,6 +273,7 @@ INSERT INTO `4G_MAX`
|
|||||||
DLPRB_MAX.CGI = 4G_MAX_IDX.`CGI` AND
|
DLPRB_MAX.CGI = 4G_MAX_IDX.`CGI` AND
|
||||||
DLPRB_MAX.`下行PDSCH利用率` = 4G_MAX_IDX.`最大值`;
|
DLPRB_MAX.`下行PDSCH利用率` = 4G_MAX_IDX.`最大值`;
|
||||||
|
|
||||||
|
DELETE FROM CCE_MAX WHERE `日期` IS NULL;
|
||||||
UPDATE CCE_MAX INNER JOIN 4G_MAX ON CCE_MAX.`日期` = 4G_MAX.`日期` AND CCE_MAX.CGI = 4G_MAX.CGI SET CCE_MAX.`insert` = 1;
|
UPDATE CCE_MAX INNER JOIN 4G_MAX ON CCE_MAX.`日期` = 4G_MAX.`日期` AND CCE_MAX.CGI = 4G_MAX.CGI SET CCE_MAX.`insert` = 1;
|
||||||
ALTER TABLE CCE_MAX ADD INDEX (`insert`);
|
ALTER TABLE CCE_MAX ADD INDEX (`insert`);
|
||||||
DELETE FROM CCE_MAX WHERE `insert` = 1;
|
DELETE FROM CCE_MAX WHERE `insert` = 1;
|
||||||
@@ -220,7 +294,9 @@ DROP TABLE IF EXISTS `4G_MAX_IDX`;
|
|||||||
CREATE TEMPORARY TABLE IF NOT EXISTS `日流量`(SELECT `日期`,CGI, SUM(`上下行总流量_GB`) AS `日流量` FROM 4G GROUP BY `日期`,CGI);
|
CREATE TEMPORARY TABLE IF NOT EXISTS `日流量`(SELECT `日期`,CGI, SUM(`上下行总流量_GB`) AS `日流量` FROM 4G GROUP BY `日期`,CGI);
|
||||||
ALTER TABLE `日流量` ADD INDEX (`CGI`);
|
ALTER TABLE `日流量` ADD INDEX (`CGI`);
|
||||||
DROP TABLE IF EXISTS `4G日均流量`;
|
DROP TABLE IF EXISTS `4G日均流量`;
|
||||||
CREATE TEMPORARY TABLE IF NOT EXISTS `4G日均流量` AS SELECT CGI, AVG(`日流量`) AS `日均流量`, COUNT(`日期`) AS `流量有效天数` FROM `日流量` WHERE `日流量` > 0 GROUP BY CGI;
|
CREATE TEMPORARY TABLE IF NOT EXISTS `4G日均流量` (
|
||||||
|
SELECT CGI, AVG(`日流量`) AS `日均流量`, COUNT(`日期`) AS `流量有效天数` FROM `日流量` WHERE `日流量` > 0 GROUP BY CGI
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -233,11 +309,8 @@ CREATE TABLE IF NOT EXISTS `4G_结果表` (
|
|||||||
ROUND(AVG(`下行流量_GB`),6) AS `下行流量(GB)`,
|
ROUND(AVG(`下行流量_GB`),6) AS `下行流量(GB)`,
|
||||||
ROUND(AVG(`用户面平均激活UE数`),6) AS `用户面平均激活UE数`,
|
ROUND(AVG(`用户面平均激活UE数`),6) AS `用户面平均激活UE数`,
|
||||||
ROUND(AVG(`RRC连接建立最大用户数`),6) AS `YY-RRC连接建立最大用户数`,
|
ROUND(AVG(`RRC连接建立最大用户数`),6) AS `YY-RRC连接建立最大用户数`,
|
||||||
-- ROUND(AVG(`上行PUSCH利用率`) / 100,6) AS `上行PUSCH利用率`, -- 旧版本:除以100(数据已在前端处理为小数)
|
|
||||||
ROUND(AVG(`上行PUSCH利用率`),6) AS `上行PUSCH利用率`,
|
ROUND(AVG(`上行PUSCH利用率`),6) AS `上行PUSCH利用率`,
|
||||||
-- ROUND(AVG(`下行PDSCH利用率`) / 100,6) AS `下行PDSCH利用率`, -- 旧版本:除以100(数据已在前端处理为小数)
|
|
||||||
ROUND(AVG(`下行PDSCH利用率`),6) AS `下行PDSCH利用率`,
|
ROUND(AVG(`下行PDSCH利用率`),6) AS `下行PDSCH利用率`,
|
||||||
-- ROUND(AVG(`PDCCH资源利用率`) / 100,6) AS `PDCCH资源利用率`, -- 旧版本:除以100(数据已在前端处理为小数)
|
|
||||||
ROUND(AVG(`PDCCH资源利用率`),6) AS `PDCCH资源利用率`,
|
ROUND(AVG(`PDCCH资源利用率`),6) AS `PDCCH资源利用率`,
|
||||||
ROUND(AVG(`用户面最大激活UE数`),6) AS `用户面最大激活UE数`
|
ROUND(AVG(`用户面最大激活UE数`),6) AS `用户面最大激活UE数`
|
||||||
FROM 4G_MAX GROUP BY CGI, `基站名称`, `小区名称`
|
FROM 4G_MAX GROUP BY CGI, `基站名称`, `小区名称`
|
||||||
@@ -256,7 +329,14 @@ DROP TABLE IF EXISTS `4G`;
|
|||||||
|
|
||||||
# 5G脚本
|
# 5G脚本
|
||||||
|
|
||||||
CREATE TEMPORARY TABLE IF NOT EXISTS `ULPRB_MAX_IDX` AS SELECT `日期`, NCGI, MAX(`上行PRB平均利用率`) AS `上行PRB平均利用率_忙时` FROM 5G GROUP BY `日期`, NCGI;
|
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`
|
ALTER TABLE `ULPRB_MAX_IDX`
|
||||||
ADD COLUMN `日期时间` datetime,
|
ADD COLUMN `日期时间` datetime,
|
||||||
@@ -271,10 +351,22 @@ ON
|
|||||||
SET
|
SET
|
||||||
`ULPRB_MAX_IDX`.`日期时间`=5G.`日期时间`;
|
`ULPRB_MAX_IDX`.`日期时间`=5G.`日期时间`;
|
||||||
|
|
||||||
CREATE TEMPORARY TABLE IF NOT EXISTS `ULPRB_MAX` AS 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 `ULPRB_MAX` (
|
||||||
|
SELECT 5G.*
|
||||||
|
FROM `ULPRB_MAX_IDX` LEFT JOIN 5G
|
||||||
|
ON `ULPRB_MAX_IDX`.NCGI=5G.NCGI AND
|
||||||
|
`ULPRB_MAX_IDX`.`日期时间`=5G.`日期时间`
|
||||||
|
);
|
||||||
|
|
||||||
# 下行PRB MAX表
|
# 下行PRB MAX表
|
||||||
CREATE TEMPORARY TABLE IF NOT EXISTS `DLPRB_MAX_IDX` AS SELECT `日期`, NCGI, MAX(`下行PRB平均利用率`) AS `下行PRB平均利用率_忙时` FROM 5G GROUP BY `日期`, NCGI;
|
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`
|
ALTER TABLE `DLPRB_MAX_IDX`
|
||||||
ADD COLUMN `日期时间` datetime,
|
ADD COLUMN `日期时间` datetime,
|
||||||
@@ -289,7 +381,12 @@ ON
|
|||||||
SET
|
SET
|
||||||
`DLPRB_MAX_IDX`.`日期时间`=5G.`日期时间`;
|
`DLPRB_MAX_IDX`.`日期时间`=5G.`日期时间`;
|
||||||
|
|
||||||
CREATE TEMPORARY TABLE IF NOT EXISTS `DLPRB_MAX` AS SELECT 5G.* FROM `DLPRB_MAX_IDX` LEFT JOIN 5G ON `DLPRB_MAX_IDX`.NCGI=5G.NCGI AND `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`;
|
DROP TABLE IF EXISTS `DLPRB_MAX_IDX`;
|
||||||
ALTER TABLE `DLPRB_MAX` ADD INDEX `DC`(`日期`, `NCGI`);
|
ALTER TABLE `DLPRB_MAX` ADD INDEX `DC`(`日期`, `NCGI`);
|
||||||
@@ -298,10 +395,29 @@ ALTER TABLE `ULPRB_MAX` ADD INDEX `DC`(`日期`, `NCGI`);
|
|||||||
# 5G 统计MAX数据
|
# 5G 统计MAX数据
|
||||||
|
|
||||||
DROP TABLE IF EXISTS `5G_Date`;
|
DROP TABLE IF EXISTS `5G_Date`;
|
||||||
CREATE TEMPORARY TABLE IF NOT EXISTS `5G_Date` AS SELECT `日期`, NCGI FROM 5G GROUP BY `日期`, NCGI;
|
CREATE TEMPORARY TABLE IF NOT EXISTS `5G_Date` (
|
||||||
|
SELECT `日期`, NCGI FROM 5G GROUP BY `日期`, NCGI
|
||||||
|
);
|
||||||
ALTER TABLE `5G_Date` ADD INDEX `DC`(`日期`, NCGI);
|
ALTER TABLE `5G_Date` ADD INDEX `DC`(`日期`, NCGI);
|
||||||
|
|
||||||
CREATE TEMPORARY TABLE IF NOT EXISTS `5G_MAX_IDX` AS 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;
|
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`;
|
DROP TABLE IF EXISTS `5G_Date`;
|
||||||
ALTER TABLE `5G_MAX_IDX` ADD INDEX `DC`(`日期`, NCGI), ADD INDEX (`最大值`);
|
ALTER TABLE `5G_MAX_IDX` ADD INDEX `DC`(`日期`, NCGI), ADD INDEX (`最大值`);
|
||||||
@@ -323,6 +439,7 @@ INSERT INTO `5G_MAX`
|
|||||||
ULPRB_MAX.NCGI = 5G_MAX_IDX.`NCGI` AND
|
ULPRB_MAX.NCGI = 5G_MAX_IDX.`NCGI` AND
|
||||||
ULPRB_MAX.`上行PRB平均利用率` = 5G_MAX_IDX.`最大值`;
|
ULPRB_MAX.`上行PRB平均利用率` = 5G_MAX_IDX.`最大值`;
|
||||||
|
|
||||||
|
DELETE FROM DLPRB_MAX WHERE `日期` IS NULL;
|
||||||
UPDATE DLPRB_MAX INNER JOIN 5G_MAX ON DLPRB_MAX.`日期` = 5G_MAX.`日期` AND DLPRB_MAX.NCGI = 5G_MAX.NCGI SET DLPRB_MAX.`insert` = 1;
|
UPDATE DLPRB_MAX INNER JOIN 5G_MAX ON DLPRB_MAX.`日期` = 5G_MAX.`日期` AND DLPRB_MAX.NCGI = 5G_MAX.NCGI SET DLPRB_MAX.`insert` = 1;
|
||||||
ALTER TABLE DLPRB_MAX ADD INDEX (`insert`);
|
ALTER TABLE DLPRB_MAX ADD INDEX (`insert`);
|
||||||
DELETE FROM DLPRB_MAX WHERE `insert` = 1;
|
DELETE FROM DLPRB_MAX WHERE `insert` = 1;
|
||||||
@@ -340,7 +457,9 @@ DROP TABLE IF EXISTS `5G_MAX_IDX`;
|
|||||||
|
|
||||||
CREATE TEMPORARY TABLE IF NOT EXISTS `日流量`(SELECT `日期`,NCGI, SUM(`5G上下行总流量_GB`) AS `日流量` FROM 5G GROUP BY `日期`,NCGI);
|
CREATE TEMPORARY TABLE IF NOT EXISTS `日流量`(SELECT `日期`,NCGI, SUM(`5G上下行总流量_GB`) AS `日流量` FROM 5G GROUP BY `日期`,NCGI);
|
||||||
ALTER TABLE `日流量` ADD INDEX (`NCGI`);
|
ALTER TABLE `日流量` ADD INDEX (`NCGI`);
|
||||||
CREATE TEMPORARY TABLE IF NOT EXISTS `5G日均流量` AS SELECT NCGI, AVG(`日流量`) AS `日均流量`, COUNT(`日期`) AS `流量有效天数` FROM `日流量` WHERE `日流量` > 0 GROUP BY 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_结果表` (
|
CREATE TABLE IF NOT EXISTS `5G_结果表` (
|
||||||
SELECT NCGI, `CU小区配置名称`,
|
SELECT NCGI, `CU小区配置名称`,
|
||||||
@@ -351,11 +470,8 @@ CREATE TABLE IF NOT EXISTS `5G_结果表` (
|
|||||||
ROUND(AVG(`RRC连接最大连接用户数`),6) AS `RRC连接最大连接用户数`,
|
ROUND(AVG(`RRC连接最大连接用户数`),6) AS `RRC连接最大连接用户数`,
|
||||||
ROUND(AVG(`RRC连接平均连接用户数`),6) AS `RRC连接平均连接用户数`,
|
ROUND(AVG(`RRC连接平均连接用户数`),6) AS `RRC连接平均连接用户数`,
|
||||||
ROUND(AVG(`小区最大激活UE数`),6) AS `小区最大激活UE数`,
|
ROUND(AVG(`小区最大激活UE数`),6) AS `小区最大激活UE数`,
|
||||||
-- ROUND(AVG(`上行PRB平均利用率`) / 100,6) AS `上行PRB平均利用率`, -- 旧版本:除以100(数据已在前端处理为小数)
|
|
||||||
ROUND(AVG(`上行PRB平均利用率`),6) AS `上行PRB平均利用率`,
|
ROUND(AVG(`上行PRB平均利用率`),6) AS `上行PRB平均利用率`,
|
||||||
-- ROUND(AVG(`下行PRB平均利用率`) / 100,6) AS `下行PRB平均利用率`, -- 旧版本:除以100(数据已在前端处理为小数)
|
|
||||||
ROUND(AVG(`下行PRB平均利用率`),6) AS `下行PRB平均利用率`,
|
ROUND(AVG(`下行PRB平均利用率`),6) AS `下行PRB平均利用率`,
|
||||||
-- ROUND(AVG(`PDCCH信道动态CCE占用率`) / 100,6) AS `PDCCH信道CCE占用率(动态)(%)`, -- 旧版本:除以100(数据已在前端处理为小数)
|
|
||||||
ROUND(AVG(`PDCCH信道动态CCE占用率`),6) AS `PDCCH信道CCE占用率(动态)(%)`,
|
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(`小区上行RLC_SDU字节数_MByte`),6) AS `小区上行RLC SDU字节数(MByte)`,
|
ROUND(AVG(`小区上行RLC_SDU字节数_MByte`),6) AS `小区上行RLC SDU字节数(MByte)`,
|
||||||
@@ -372,4 +488,36 @@ SET `5G_结果表`.`日均流量(GB)` = ROUND(`5G日均流量`.`日均流量
|
|||||||
DROP TABLE IF EXISTS `日流量`;
|
DROP TABLE IF EXISTS `日流量`;
|
||||||
DROP TABLE IF EXISTS `5G日均流量`;
|
DROP TABLE IF EXISTS `5G日均流量`;
|
||||||
DROP TABLE IF EXISTS `4G`;
|
DROP TABLE IF EXISTS `4G`;
|
||||||
DROP TABLE IF EXISTS `5G`;
|
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);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user