您好,登錄后才能下訂單哦!
本篇內容主要講解“ROLLUP和CUBE的使用方法有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“ROLLUP和CUBE的使用方法有哪些”吧!
group by后帶rollup子句的功能可以理解為:先按一定的規則產生多種分組,然后按各種分組統計數據。
因此要搞懂group by后帶rollup子句的用法主要是搞懂它是如何按一定的規則產生多種分組的。另group by后帶rollup子句所返回的結果集,可以理解為各個分組所產生的結果集的并集且沒有去掉重復數據。
1、Group by A ,B
a) 產生的分組種數:1種;
即group by A,B
b) 返回結果集:也就是這一種分組的結果集。
2、Group by rollup(A ,B)
a) 產生的分組種數:3種;
第一種:group by A,B
第二種:group by A
第三種:group by NULL
含義是:沒有分組,也就是所有數據做一個統計。
b) 返回結果集:為以上三種分組統計結果集的并集且未去掉重復數據。
3、Group by rollup(A ,B,C)
a) 產生的分組種數:4種;
第一種:group by A,B,C
第二種:group by A,B
第三種:group by A
第四種:group by NULL
b) 返回結果集:為以上四種分組統計結果集的并集且未去掉重復數據。
4、Group by A , rollup(A ,B)
a) 產生的分組種數:3種;
第一種:group by A,A,B 等價于group by A,B
第二種:group by A,A 等價于group by A
第三種:group by A,NULL 等價于group by A
b) 返回結果集:為以上三種分組統計結果集的并集且未去掉重復數據。
5、Group by C , rollup(A ,B)
a) 產生的分組種數:3種;
第一種:group by C,A,B
第二種:group by C,A
第三種:group by C,NULL 等價于group by C
b) 返回結果集:為以上三種分組統計結果集的并集且未去掉重復數據。
6、Group by rollup((A ,B))
a) 產生的分組種數:2種;
第一種:group by A,B
第二種:group by NULL
b) 返回結果集:為以上兩種分組統計結果集的并集且未去掉重復數據。
7、Group by rollup(A ,(B,C))
a) 產生的分組種數:3種;
第一種:group by A,B,C
第二種:group by A
第三種:group by NULL
b) 返回結果集:為以上三種分組統計結果集的并集且未去掉重復數據。
帶cube子句的group by會產生更多的分組統計數據。cube后的列有多少種組合(注意組合是與順序無關的)就會有多少種分組。
Group by cube(A ,B,C)
1、產生的分組種數:8種;
第一種:group by A,B,C
第二種:group by A,B
第三種:group by A,C
第四種:group by B,C
第五種:group by C
第六種:group by B
第七種:group by A
第八種:group by NULL
2、返回結果集:為以上八種分組統計結果集的并集且未去掉重復數據。
到此,相信大家對“ROLLUP和CUBE的使用方法有哪些”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。