引用:
使用裡面的資料進行查詢來區別rollup()和rollup(())的使用。
select f_workarea, f_line, sum(f_pagesnumber) sum_pagesnumbers
from t_testcount
group by rollup(f_workarea, f_line);
返回結果
f_workarea f_line sum_pagesnumbers
a a1 1
a a2 2
a a3 3
a 6
b b1 1
b 1
7
上面結果存在小計和總計
select f_workarea, f_line, sum(f_pagesnumber) sum_pagesnumbers
from t_testcount
group by rollup((f_workarea, f_line));
結果如下:
f_workarea f_line sum_pagesnumbers
a a1 1
a a2 2
a a3 3
b b1 1
7
上面結果裡面明顯沒有小計,只有總計。
所以rollup()和rollup(())的區別即rollup(())只有總計而沒有小計。
如果沒有rollup(())怎麼實現只有總計沒有小計呢。
select *
from (select grouping(f_line) as a1,
grouping(f_workarea) as a2,
f_workarea,
f_line,
sum(f_pagesnumber) sum_pagesnumbers
from t_testcount
group by rollup(f_workarea, f_line)) t
where t.a1 = 0
and t.a2 = 0
or (t.a1 = 1 and t.a2 = 1)
結果如下:
a1 a2 f_workarea f_line sum_pagesnumbers
0 0 a a1 1
0 0 a a2 2
0 0 a a3 3
0 0 b b1 1
1 1 7
rollup分析函式
表的初始資料 使用rollup進行彙總之後的資料 可以改寫為 使用group by實現roll up sql view plain copy select ta.first name,sum ta.salary assalary from t test1 ta group byta.first na...
rollup學習 簡單總結
官方教程 例子 github位址 新建my rollup project檔案 my rollup project目錄下npm init or yarn init 新建foo.js,main.js,index.html 結構如下圖所示 直接執行npm run build or npm run buil...
sql小計彙總 rollup用法
rollup在oracle sql server裡面都有有。這裡介紹sql server2005裡面的乙個使用例項 create table tb province nvarchar 10 city nvarchar 10 score int insert tb select 陝西 西安 3 uni...