3

次のコード スニペットで、オラクル パーティションsum内の aの意味を教えてください。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;
4

1 に答える 1

6

VALper NMS(最初のもの)と(2番目のもの)の合計SUMを計算しEMPNOます。

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)
于 2013-01-03T12:45:58.513 に答える