分析函式 - GROUPING_ID

likesky276發表於2007-04-23

SQL> select * from test2;

A B C D
---------- ---------- ------------ ----------
A B 1.00 E
A C 1.00 E
A D 2.00 F
A D 3.00 F
C D 3.00 F
C D 4.00 F

6 rows selected

SQL> SELECT A,B,SUM(C),grouping_id(a,b,d) FROM TEST2 group by GROUPing sets((a,b,d),A,b,());

A B SUM(C) GROUPING_ID(A,B,D)
---------- ---------- ---------- ------------------
A B 1 0
A C 1 0
A D 5 0
C D 7 0
A 7 3
C 7 3
B 1 5
C 1 5
D 12 5
14 7

10 rows selected

grouping_id是對(A,B,D)用二進位制指示當前行是哪些列的合計,上例中,最後一行的GROUPING_ID(A,B,D)為7,表示二進位制的111的數字7,表示為A,B,D三列求GROUP


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8118583/viewspace-64863/,如需轉載,請註明出處,否則將追究法律責任。

相關文章