Oracle 9i 分析函式參考手冊(8)
SUM
功能描述:該函式計算組中表示式的累積和。
SAMPLE:下例計算同一經理下員工的薪水累積值
SELECT manager_id, last_name, salary,
SUM (salary) OVER (PARTITION BY manager_id ORDER BY salary
RANGE UNBOUNDED PRECEDING) l_csum
FROM employees
WHERE manager_id in (101,103,108);
MANAGER_ID LAST_NAME SALARY L_CSUM
---------- ------------------------- ---------- ----------
101 Whalen 4400 4400
101 Mavris 6500 10900
101 Baer 10000 20900
101 Greenberg 12000 44900
101 Higgins 12000 44900
103 Lorentz 4200 4200
103 Austin 4800 13800
103 Pataballa 4800 13800
103 Ernst 6000 19800
108 Popp 6900 6900
108 Sciarra 7700 14600
108 Urman 7800 22400
108 Chen 8200 30600
108 Faviet 9000 39600
VAR_POP
功能描述:(Variance Population)該函式返回非空集合的總體變數(忽略null),VAR_POP進行如下計算:
(SUM(expr2) - SUM(expr)2 / COUNT(expr)) / COUNT(expr)
SAMPLE:下例計算1998年每月銷售的累積總體和樣本變數(本例在SH使用者下執行)
SELECT t.calendar_month_desc,
VAR_POP(SUM(s.amount_sold))
OVER (ORDER BY t.calendar_month_desc) "Var_Pop",
VAR_SAMP(SUM(s.amount_sold))
OVER (ORDER BY t.calendar_month_desc) "Var_Samp"
FROM sales s, times t
WHERE s.time_id = t.time_id AND t.calendar_year = 1998
GROUP BY t.calendar_month_desc;
CALENDAR Var_Pop Var_Samp
-------- ---------- ----------
1998-01 0
1998-02 6.1321E+11 1.2264E+12
1998-03 4.7058E+11 7.0587E+11
1998-04 4.6929E+11 6.2572E+11
1998-05 1.5524E+12 1.9405E+12
1998-06 2.3711E+12 2.8453E+12
1998-07 3.7464E+12 4.3708E+12
1998-08 3.7852E+12 4.3260E+12
1998-09 3.5753E+12 4.0222E+12
1998-10 3.4343E+12 3.8159E+12
1998-11 3.4245E+12 3.7669E+12
1998-12 4.8937E+12 5.3386E+12
VAR_SAMP
功能描述:(Variance Sample)該函式返回非空集合的樣本變數(忽略null),VAR_POP進行如下計算:
(SUM(expr*expr)-SUM(expr)*SUM(expr)/COUNT(expr))/(COUNT(expr)-1)
SAMPLE:下例計算1998年每月銷售的累積總體和樣本變數
SELECT t.calendar_month_desc,
VAR_POP(SUM(s.amount_sold))
OVER (ORDER BY t.calendar_month_desc) "Var_Pop",
VAR_SAMP(SUM(s.amount_sold))
OVER (ORDER BY t.calendar_month_desc) "Var_Samp"
FROM sales s, times t
WHERE s.time_id = t.time_id AND t.calendar_year = 1998
GROUP BY t.calendar_month_desc;
CALENDAR Var_Pop Var_Samp
-------- ---------- ----------
1998-01 0
1998-02 6.1321E+11 1.2264E+12
1998-03 4.7058E+11 7.0587E+11
1998-04 4.6929E+11 6.2572E+11
1998-05 1.5524E+12 1.9405E+12
1998-06 2.3711E+12 2.8453E+12
1998-07 3.7464E+12 4.3708E+12
1998-08 3.7852E+12 4.3260E+12
1998-09 3.5753E+12 4.0222E+12
1998-10 3.4343E+12 3.8159E+12
1998-11 3.4245E+12 3.7669E+12
1998-12 4.8937E+12 5.3386E+12
VARIANCE
功能描述:該函式返回表示式的變數,Oracle計算該變數如下:
如果表示式中行數為1,則返回0
如果表示式中行數大於1,則返回VAR_SAMP
SAMPLE:下例返回部門30按僱傭日期排序的薪水值的累積變化
SELECT last_name, salary, VARIANCE(salary)
OVER (ORDER BY hire_date) "Variance"
FROM employees
WHERE department_id = 30;
LAST_NAME SALARY Variance
------------------------- ---------- ----------
Raphaely 11000 0
Khoo 3100 31205000
Tobias 2800 21623333.3
Baida 2900 16283333.3
Himuro 2600 13317000
Colmenares 2500 11307000[@more@]
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/18921899/viewspace-1017193/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 9i 分析函式參考手冊Oracle函式
- oracle 9i分析函式參考手冊 (二)Oracle函式
- Oracle 9i 分析函式參考手冊(1)Oracle函式
- Oracle 9i 分析函式參考手冊(2)Oracle函式
- Oracle 9i 分析函式參考手冊(3)Oracle函式
- Oracle 9i 分析函式參考手冊(6)Oracle函式
- Oracle 9i 分析函式參考手冊(5)Oracle函式
- Oracle 9i 分析函式參考手冊(4)Oracle函式
- Oracle 9i 分析函式參考手冊(7)Oracle函式
- Oracle 9i 分析函式參考手冊(轉)Oracle函式
- Oracle分析函式參考手冊(轉)一Oracle函式
- Oracle分析函式參考手冊(轉)二Oracle函式
- delphi函式參考手冊 (轉)函式
- ORACLE分析函式手冊Oracle函式
- DOM參考手冊及事件參考手冊事件
- ORACLE分析函式手冊(轉)Oracle函式
- ORACLE分析函式手冊二Oracle函式
- Oracle X$ table 參考手冊Oracle
- ORACLE分析函式手冊二(轉)Oracle函式
- Arduino參考手冊-函式和變數及電路圖UI函式變數
- Oracle DataGuard 常用維護命令參考手冊Oracle
- JavaScript物件參考手冊JavaScript物件
- JQuery 1.6參考手冊jQuery
- 參考手冊總結
- MySQL 5.1參考手冊MySql
- mysql 5.1 參考手冊MySql
- oracle函式手冊(轉)Oracle函式
- 使用Oracle TRACE——效能調整手冊和參考Oracle
- DOJO API 中文參考手冊API
- Git命令參考手冊(轉)Git
- JavaScript語言參考手冊JavaScript
- SQL語法參考手冊SQL
- PHP-imap 使用參考手冊PHP
- Python os模組參考手冊Python
- Python sys模組參考手冊Python
- PLSQL包和TYPE參考手冊SQL
- SQL 語法參考手冊(轉)
- SQL語法參考手冊(轉)SQL