cube子句在dw環境用的比較多,特別是在產生交叉報表的情況,演示乙個cube的例子
sql 10g>create table test(sales varchar2(10),dest varchar2(10),revenue number);
table created.
sql 10g>insert into test values('**ith','hangzhou',1000);
1 row created.
sql 10g>insert into test values('**ith','wenzhou',2000);
1 row created.
sql 10g>insert into test values('allen','wenzhou',3000);
1 row created.
sql 10g>insert into test values('allen','wenzhou',4000);
1 row created.
sql 10g>commit;
commit complete.
sql 10g>select * from test;
sales dest revenue
---------- ---------- ----------
**ith hangzhou 1000
**ith wenzhou 2000
allen wenzhou 3000
allen wenzhou 4000
比如說我們想統計每個sales的總銷售收入,每個sales在各個城市的銷售收入,另外還想知道每個城市所有sales的銷售收入總額,以及所有sales的總收入
就像以下報表
hangzhou wenzhou
allen 7000 7000
**ith 1000 2000 3000
1000 9000 10000
那我們執行下面這條語句就行了
sql 10g>select sales,dest,sum(revenue) from test group by cube(sales,dest);
sales dest sum(revenue)
---------- ---------- ------------
10000 所有sales的總銷售收入
wenzhou 9000 所有sales在溫州的銷售收入
hangzhou 1000 所有sales在杭州的銷售收入
allen 7000 allen的所有銷售收入
allen wenzhou 7000 allen在溫州的銷售收入
**ith 3000 **ith所有的銷售收入
**ith wenzhou 2000 **ith在溫州的銷售收入
**ith hangzhou 1000 **ith在杭州的銷售收入
8 rows selected.
假如不想統計城市這個維度,那麼用rollup子句
hangzhou wenzhou
allen 7000 7000
**ith 1000 2000 3000
10000
sql 10g>select sales,dest,sum(revenue) from test group by rollup(sales,dest)
2 ;sales dest sum(revenue)
---------- ---------- ------------
allen wenzhou 7000 allen在溫州的銷售收入
allen 7000 allen的所有銷售收入
**ith wenzhou 2000 **ith在溫州的銷售收入
**ith hangzhou 1000 **ith在杭州的銷售收入
**ith 3000 **ith所有的銷售收入
10000 所有sales的總銷售收入
6 rows selected.
資料引用:http://www.knowsky.com/385442.html
oracle中累計求和 oracle累計求和
poj2001 shortest prefixes trie樹應用 沉迷wow又頹了兩天orz,暴雪爸爸要在國服出月卡了.這是要我好好學習嗎?趕緊來刷題了.oj 題目大意是求所有字串裡每乙個字元 硬體相關 jtag介面 jtag joint test action group,聯合測試行動小組 是一...
oracle中累計求和 oracle累計求和
oracle累計求和 將當前行某列的值與前面所有行的此列值相加,即累計求和 方法一 with t as select 1 val from dual union all select 3 from dual union all select 5 from dual union all select ...
Oracle中臨時表
最近考慮到我們的資料庫端寫儲存過程關於臨時表使用的情況,由於我們 現在還不清楚資料庫端到底是怎麼處理的,是否和sql server的處理方式相 同,是否會存在隱患等等一些問題,為了避免將來不必要的麻煩我做了深 入的研究和檢視了一些權威的資料,現在和大家共享,希望大家在處理 oracle臨時表是注意一...