oracle函数分为几个大类,ORACLE常见分析函数有哪几类呢?
而ORACLE的常見分析函數有三類:
1。 OVER函數
分析函數的語法為:
Java代碼
FUNCTION_NAME(,。。。)
OVER
()
例:
sum(sal) over (partition by deptno order by ename) new_alias
sum就是函數名
(sal)是分析函數的參數,每個函數有0~3個參數,參數可以是表達式,例如:sum(sal+comm)
over 是一個關鍵字,用于標識分析函數,否則查詢分析器不能區別sum()聚集函數和sum()分析函數
partition by deptno 是可選的分區子句,如果不存在任何分區子句,則全部的結果集可看作一
個單一的大區
order by ename 是可選的order by 子句,有些函數需要它,有些則不需要。
依靠已排序數據的那些函數,如:用于訪問結果集中前一行和后一行的LAG和LEAD,必須使用,其它函數,如AVG,則不需要。在使用了任何排序的開窗函數時,該子句是強制性的,它指定了在計算分析函數時一組內的數據是如何排序的。
eg:按區域查找上一年度訂單總額占區域訂單總額20%以上的客戶,來看看分析函數的應用。
【1】測試環境:
Java代碼
SQL> desc orders_tmp;
Name
Null?
Type
----------------------- -------- ----------------
CUST_NBR
NOT NULL NUMBER
(5)
REGION_ID
NOT NULL NUMBER
(5)
SALESPERSON_ID
NOT NULL NUMBER
(5)
YEAR
NOT NULL NUMBER
(4)
MONTH
NOT NULL NUMBER
(2)
TOT_ORDERS
NOT NULL NUMBER
(7)
TOT_SALES
NOT NULL NUMBER(11,2)
【2】測試數據:
Java代碼
SQL> select * from orders_tmp;
CUST_NBR
REGION_ID SALESPERSON_ID
YEAR
MONTH TOT_ORDERS
TOT_SALES
---------- ---------- -------------- ---------- ---------- ---------- ----------
11
7
11
2001
7
2
12204
4
5
4
2001
10
2
37802
7
6
7
2001
2
3
3750
10
6
8
2001
1
2
21691
10
6
7
2001
2
3
42624
15
7
12
2000
5
6
24
12
7
9
2000
6
2
50658
1
5
2
2000
3
2
44494
1
5
1
2000
9
2
74864
2
5
4
2000
3
2
35060
2
5
4
2000
4
4
6454
2
5
1
2000
10
4
35580
4
5
4
2000
12
2
39190
13 rows selected。
全部
總結
以上是生活随笔為你收集整理的oracle函数分为几个大类,ORACLE常见分析函数有哪几类呢?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 初二物理模型有哪些_暑假新初二、新初三的
- 下一篇: *计算机应用基础* 说课稿,中职计算机应