mysql - 无法进行 SUM 运算 SQL

标签 mysql sql sum sap ase

我需要您的帮助,我在 SQL (SAP ASE) 中有以下查询:

SELECT
  DC.DIM_DATE.DATE_ID,
  DC.DIM_TIME.HOUR_ID,
  DC.DIM_E_RAN_UCELL.RBS_ID,
  DC.DIM_E_RAN_UCELL.UCELL_ID,
  (SUM(DC.DC_E_RAN_UCELL_RAW.pmSumBestDchPsIntRabEstablish)+SUM(DC.DC_E_RAN_UCELL_RAW.pmSumFachPsIntRabEstablish)+SUM(DC.DC_E_RAN_UCELL_RAW.pmSumBestPsHsAdchRabEstablish)+SUM(DC.DC_E_RAN_UCELL_RAW.pmSumBestPsEulRabEstablish))/720 AS 'WCDMA_DATA_ERLANG'
FROM
  DC.DIM_DATE,
  DC.DIM_TIME,
  DC.DIM_E_RAN_UCELL,
  DC.DC_E_RAN_UCELL_RAW
WHERE
  (DC.DC_E_RAN_UCELL_RAW.HOUR_ID=DC.DIM_TIME.HOUR_ID and DC.DC_E_RAN_UCELL_RAW.MIN_ID=DC.DIM_TIME.MIN_ID)
  AND  (DC.DC_E_RAN_UCELL_RAW.DATE_ID=DC.DIM_DATE.DATE_ID)
  AND  (DC.DC_E_RAN_UCELL_RAW.OSS_ID=DC.DIM_E_RAN_UCELL.OSS_ID)
  AND  (DC.DC_E_RAN_UCELL_RAW.RNC=DC.DIM_E_RAN_UCELL.RNC_ID)
  AND  (DC.DC_E_RAN_UCELL_RAW.UtranCell=DC.DIM_E_RAN_UCELL.UCELL_ID)
  AND  
  (
   DC.DIM_DATE.DATE_ID  IN  ('2017-08-02')
   AND
   DC.DIM_E_RAN_UCELL.RBS_ID  IN ('DN1U0441')
  )
GROUP BY
  DC.DIM_DATE.DATE_ID,
  DC.DIM_TIME.HOUR_ID,
  DC.DIM_E_RAN_UCELL.RBS_ID,
  DC.DIM_E_RAN_UCELL.UCELL_ID;

输出是这样的:

    DATE_ID HOUR_ID RBS_ID  UCELL_ID    WCDMA_DATA_ERLANG
8/2/2017    0   DN1U0441    DN1U0441A0  0.0222
8/2/2017    0   DN1U0441    DN1U0441A1  0.0138
8/2/2017    0   DN1U0441    DN1U0441B0  0
8/2/2017    0   DN1U0441    DN1U0441B1  0
8/2/2017    0   DN1U0441    DN1U0441C0  0
8/2/2017    0   DN1U0441    DN1U0441C1  0.0472
8/2/2017    1   DN1U0441    DN1U0441A0  0.0555
8/2/2017    1   DN1U0441    DN1U0441A1  0.0166
8/2/2017    1   DN1U0441    DN1U0441B0  0
8/2/2017    1   DN1U0441    DN1U0441B1  0

我试图将临时列 WCDMA_DATA_ERLANG 中的结果中的所有数据放入唯一的行中,例如 TOTAL,但我做不到,请帮助我:

类似的事情:

DATE_ID HOUR_ID RBS_ID  UCELL_ID    WCDMA_DATA_ERLANG     TOTAL
8/2/2017    0   DN1U0441    DN1U0441A0  0.0222            0.2795
8/2/2017    0   DN1U0441    DN1U0441A1  0.0138
8/2/2017    0   DN1U0441    DN1U0441B0  0
8/2/2017    0   DN1U0441    DN1U0441B1  0
8/2/2017    0   DN1U0441    DN1U0441C0  0
8/2/2017    0   DN1U0441    DN1U0441C1  0.0472
8/2/2017    1   DN1U0441    DN1U0441A0  0.0555
8/2/2017    1   DN1U0441    DN1U0441A1  0.0166
8/2/2017    1   DN1U0441    DN1U0441B0  0
8/2/2017    1   DN1U0441    DN1U0441B1  0

最佳答案

再次尝试从整个 select 语句中进行选择。

select DATE_ID, HOUR_ID, RBS_ID, UCELL_ID, WCDMA_DATA_ERLANG, sum(WCDMA_DATA_ERLANG) as total
from(
SELECT
  DC.DIM_DATE.DATE_ID,
  DC.DIM_TIME.HOUR_ID,
  DC.DIM_E_RAN_UCELL.RBS_ID,
  DC.DIM_E_RAN_UCELL.UCELL_ID,
  (SUM(DC.DC_E_RAN_UCELL_RAW.pmSumBestDchPsIntRabEstablish)+SUM(DC.DC_E_RAN_UCELL_RAW.pmSumFachPsIntRabEstablish)+SUM(DC.DC_E_RAN_UCELL_RAW.pmSumBestPsHsAdchRabEstablish)+SUM(DC.DC_E_RAN_UCELL_RAW.pmSumBestPsEulRabEstablish))/720 AS 'WCDMA_DATA_ERLANG'
FROM
  DC.DIM_DATE,
  DC.DIM_TIME,
  DC.DIM_E_RAN_UCELL,
  DC.DC_E_RAN_UCELL_RAW
WHERE
  (DC.DC_E_RAN_UCELL_RAW.HOUR_ID=DC.DIM_TIME.HOUR_ID and DC.DC_E_RAN_UCELL_RAW.MIN_ID=DC.DIM_TIME.MIN_ID)
  AND  (DC.DC_E_RAN_UCELL_RAW.DATE_ID=DC.DIM_DATE.DATE_ID)
  AND  (DC.DC_E_RAN_UCELL_RAW.OSS_ID=DC.DIM_E_RAN_UCELL.OSS_ID)
  AND  (DC.DC_E_RAN_UCELL_RAW.RNC=DC.DIM_E_RAN_UCELL.RNC_ID)
  AND  (DC.DC_E_RAN_UCELL_RAW.UtranCell=DC.DIM_E_RAN_UCELL.UCELL_ID)
  AND  
  (
   DC.DIM_DATE.DATE_ID  IN  ('2017-08-02')
   AND
   DC.DIM_E_RAN_UCELL.RBS_ID  IN ('DN1U0441')
  )
GROUP BY
  DC.DIM_DATE.DATE_ID,
  DC.DIM_TIME.HOUR_ID,
  DC.DIM_E_RAN_UCELL.RBS_ID,
  DC.DIM_E_RAN_UCELL.UCELL_ID)
group by DATE_ID, HOUR_ID, RBS_ID, UCELL_ID, WCDMA_DATA_ERLANG

关于mysql - 无法进行 SUM 运算 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45555764/

相关文章:

MySQL 插入忽略重复项但因外键错误而失败

c# - 如何调整此 GridView 使其只有一个具有相同值的单元格?

sql - 更改数据库列的顺序

python - Pandas :将多列汇总为一列,没有最后一列

MySQL - 如何从多个表中选择多行

mysql - fputcsv 和 fwrite 不工作

c# - SQL Server 'ROUND' 与 C# 'Math.Round'

SQL Join 对每条记录进行匹配

Python:对列表中的类实例求和

python - 求斐波那契数列中偶数项的和