oracle提供了很多高階的統計函式,如rollup、cube、grouping、grouping sets,同時在資料庫層還提供了維、立方等物件,可以通過定義維和立方實現查詢重寫,提高資料倉儲的
select 批次號,種類,單位型別,sum(金額),count(1) from資料表 where批次號 = 20080727 and順序號 < 200807031223222133 group by 批次號,cube(種類,單位型別);
120080727 175176.6 1395(彙總行)
220080727 73 175176.6 1395(根據單位型別彙總行)
320080727 11 107122.4 413(根據種類彙總行)
420080727 11 73 107122.4 413(根據種類單位型別彙總行)
520080727 31 62534.2 430
620080727 31 73 62534.2 430
720080727 32 5520 552
820080727 32 73 5520 552
執行計畫中會有
select statement, goal = all_rowscost=21cardinality=32bytes=1120
sort group bycost=21cardinality=32bytes=1120
generate cubecost=21cardinality=32bytes=1120
sort group bycost=21cardinality=32bytes=1120
table access by index rowidobject owner=object name=cost=20cardinality=175bytes=6125
index range scanobject owner=object name=idx__aab001cost=4cardinality=370
db2的rollup和cube函式
rollup的效果就是對group by後面的乙個分組列名進行統計。bankid為第一列 select case when grouping branchid 0 then branchid else 小計 end as branchid,case when grouping bankid 0 th...
CUBE和ROLLUP函式的用法及區別
sql 中rollup 用法 rollup 運算子生成的結果集類似於 cube 運算子生成的結果集。下面是 cube 和 rollup 之間的具體區別 下面對比一下group by cube 和 rollup後的結果 建立表 create table depart 部門 char 10 員工 cha...
使用CUBE和ROLLUP對資料進行彙總
it專家網獨家 想要找乙個既快捷又有效的方法來對您儲存在資料庫裡的資料進行彙總分析嗎?sql語言中的rollup和cube命令提供了乙個非常有用的工具,可以讓您快速深入地獲取資料的各種內在性質。rollup和cube是sql的擴充套件命令,可以在sql server 6.5 及以上版本 和oracl...