求教
select A,B,C,D,E from emp
group by rollup(A,B),(C,D),E類似于這種陳述句表示什么意思??求大神指點!!!!
uj5u.com熱心網友回復:
就是加一個合計行,你可以做一些資料,測驗一下;uj5u.com熱心網友回復:
SQL>
SQL> create table test(
2 a varchar(10),
3 b varchar(10),
4 c varchar(10),
5 d varchar(10),
6 e int,
7 f int
8 );
Table created
SQL> begin
2 insert into test values('A1', 'B1', 'C1', 'D1', 100, 100);
3 insert into test values('A1', 'B2', 'C1', 'D1', 200, 200);
4 insert into test values('A2', 'B1', 'C1', 'D1', 300, 100);
5 end;
6 /
PL/SQL procedure successfully completed
SQL> select a, b, c, d, sum(e), sum(f) from test group by rollup(a, b), c, d;
A B C D SUM(E) SUM(F)
---------- ---------- ---------- ---------- ---------- ----------
A1 B1 C1 D1 100 100 -- A1, B1 匯總
A1 B2 C1 D1 200 200 -- A1, B2 匯總
A1 C1 D1 300 300 -- A1 匯總
A2 B1 C1 D1 300 100 -- A2, B1 匯總
A2 C1 D1 300 100 -- A2 匯總
C1 D1 600 400 -- 總合計行
6 rows selected
SQL> drop table test purge;
Table dropped
SQL>
uj5u.com熱心網友回復:
http://blog.itpub.net/519536/viewspace-610995/寫的挺好的。
uj5u.com熱心網友回復:
Group by rollup(A ,B)產生的分組種數:3種;
第一種:group by A,B
第二種:group by A
第三種:group by NULL
(說明:本沒有group by NULL 的寫法,在這里指是為了方便說明,而采用之。含義是:沒有分組,也就是所有資料做一個統計。例如聚合函式是SUM的話,那就是對所有滿足條件的資料進行求和。此寫法的含義下同)
回傳結果集:為以上三種分組統計結果集的并集且未去掉重復資料。
Group by rollup(A ,B,C)
產生的分組種數:4種;
第一種:group by A,B,C
第二種:group by A,B
第三種:group by A
第四種:group by NULL
uj5u.com熱心網友回復:
分組后統計。uj5u.com熱心網友回復:
就是分組之后的統計里有一個匯總統計,如Group by rollup(A ,B)先將相同A和B的記錄匯總,然后再將相同A的記錄再匯總,最后就是將所有資料匯總
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/97840.html
標籤:開發
上一篇:IMP 資料
