分析函式(學習筆記)
自己一直很少使用分析函式,它可以使原來在sql中不可能做到的或者
直接使用sql執行效率很低的事情成為可能。
例子(摘自《oracle高效設計》):
break on deptno skip 1
select deptno,
ename,
sal,
sum(sal) over (partition by deptno order by sal) CumDeptTot,
sum(sal) over (partition by deptno) SalByDept,
sum(sal) over (order by deptno, sal) CumTot,
sum(sal) over () TotSal
from emp
order by deptno, sal
/
輸出如下:
DEPTNO ENAME SAL CUMDEPTTOT SALBYDEPT CUMTOT TOTSAL
---------- ---------- ---------- ---------- ---------- ---------- ----------
10 MILLER 1300 1300 8750 1300 29025
CLARK 2450 3750 8750 3750 29025
KING 5000 8750 8750 8750 29025
20 SMITH 800 800 10875 9550 29025
ADAMS 1100 1900 10875 10650 29025
JONES 2975 4875 10875 13625 29025
SCOTT 3000 10875 10875 19625 29025
FORD 3000 10875 10875 19625 29025
30 JAMES 950 950 9400 20575 29025
MARTIN 1250 3450 9400 23075 29025
WARD 1250 3450 9400 23075 29025
TURNER 1500 4950 9400 24575 29025
ALLEN 1600 6550 9400 26175 29025
BLAKE 2850 9400 9400 29025 29025
14 rows selected.
檢視結果,可以發現:
sum(sal) over (partition by deptno order by sal): 按照deptno分並且按照sal從小到大排序,並且累加sal。
sum(sal) over (partition by deptno) : 按照deptno累計。
sum(sal) over (order by deptno, sal) : 按照deptno,sal排序並且累加sal。
sum(sal) over () : 總合計。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-83024/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle學習筆記8: 分析函式Oracle筆記函式
- async函式學習筆記。函式筆記
- Go 函式 學習筆記Go函式筆記
- 生成函式 學習筆記函式筆記
- TS學習筆記(四):函式筆記函式
- JavaScript學習筆記 - 原生函式JavaScript筆記函式
- Golang學習筆記-1.6 函式Golang筆記函式
- Oracle學習筆記(6)——函式Oracle筆記函式
- LoadRunner函式學習筆記函式筆記
- MYSQL學習筆記14: 函式MySql筆記函式
- 深度學習——loss函式的學習筆記深度學習函式筆記
- python學習筆記(六)——函式Python筆記函式
- OpenCV學習筆記(4)——mixChannels函式OpenCV筆記函式
- OpenCV學習筆記(5)——normalize函式OpenCV筆記ORM函式
- Flutter學習筆記(4)--Dart函式Flutter筆記Dart函式
- js純函式學習筆記(一)JS函式筆記
- C++學習筆記(二)——函式C++筆記函式
- c語言學習筆記===函式C語言筆記函式
- 【C#學習筆記】函式呼叫C#筆記函式
- 學習筆記-----一時間函式筆記函式
- MYSQL學習筆記7: 聚合函式MySql筆記函式
- 關於SQLServer2005的學習筆記——分析函式SQLServer筆記函式
- PHP 第八週函式學習筆記PHP函式筆記
- 學習筆記:javascript中的Generator函式筆記JavaScript函式
- JavaScript學習筆記(七)—— 再說函式JavaScript筆記函式
- pandas之常用基本函式學習筆記函式筆記
- 【C#學習筆記】函式過載C#筆記函式
- Erlang學習筆記(四)模組與函式筆記函式
- c++學習筆記 -- 建構函式C++筆記函式
- MATLAB學習筆記—多型函式Matlab筆記多型函式
- MYSQL學習筆記15: 數值函式MySql筆記函式
- 工作學習筆記(三)to_char函式筆記函式
- Objective-C學習筆記---建構函式和解構函式Object筆記函式
- 分析函式的學習函式
- Python學習筆記_函式_匯入模組Python筆記函式
- ES6學習筆記(三)【函式,物件】筆記函式物件
- 好程式設計師學習筆記:函式程式設計師筆記函式
- JavaScript學習筆記(二)——函式和陣列JavaScript筆記函式陣列