谁能告诉我在下面的代码片段中,sum在oracle分区的sum (SUM(SUM(VAL)))中的意义是什么?
SELECT NMS,
SUM(SUM(VAL)) OVER(PARTITION BY NMS), ---- SIGNIFICANCE
EMPNO,
SUM(SUM(VAL)) OVER(PARTITION BY EMPNO) ---- SIGNIFICANCE
FROM PART_TEST_PART
GROUP BY NMS, EMPNO;发布于 2013-01-03 20:45:59
它计算每个NMS (对于第一个)和EMPNO (对于第二个)的VAL的总和。
首先计算group by + SUM(VAL),然后分析根据该结果进行计算。
例如,如果在group by of之后有结果
EMPNO NMS SUM(VAL)
1 a 15
1 b 24
2 a 50你会有SUM(SUM(VAL)) OVER(PARTITION BY NMS)作为
EMPNO NMS SUM(VAL) SUM(SUM(VAL)) OVER(PARTITION BY NMS)
1 a 15 65 (15+50 for NMS = a)
1 b 24 24 (24 for NMS = b)
2 a 50 65 (15+50 for NMS = a)你会有SUM(SUM(VAL)) OVER(PARTITION BY EMPNO)作为
EMPNO NMS SUM(VAL) SUM(SUM(VAL)) OVER(PARTITION BY EMPNO)
1 a 15 39 (15+24 for EMPNO = 1)
1 b 24 39 (15+24 for EMPNO = 1)
2 a 50 50 (50 for EMPNO = 2)https://stackoverflow.com/questions/14138846
复制相似问题