oracle GROUP 函數(AVG,COUNT,MAX,MIN,SUM,NVL,UID,USER,USERENV,DECODE)
oracle GROUP 函數(AVG,COUNT,MAX,MIN,SUM,NVL,UID,USER,USERENV,DECODE)
http://blog.blueshop.com.tw/pili9141/articles/52569.aspx
1 | GROUP 函數 |
2 | |
3 | AVG([distinct|all]n) |
4 | --◎ 獲得平均值 |
5 | --◎ 不包含null值 |
6 | |
7 | ex. |
8 | select avg(欄1) aa from 資料表a; |
9 | |
10 | COUNT(*|[distinct|all]expr) |
11 | -- 獲得查詢出的筆數總和 |
12 | |
13 | ex. |
14 | select count(*) aa from 資料表a; |
15 | -- * 可換成 欄位名、distinct 欄位名 |
16 | |
17 | MAX([distinct|all]expr) |
18 | --◎ 取得最大值 |
19 | --◎ 不包含null值 |
20 | |
21 | ex. |
22 | select max(欄1) aa from 資料表a; |
23 | |
24 | MIN([distinct|all]expr) |
25 | --◎ 取得最小值 |
26 | --◎ 不包含null值 |
27 | |
28 | ex. |
29 | select min(欄1) aa from 資料表a; |
30 | |
31 | SUM([distinct|all]n) |
32 | --◎ 計算總和 |
33 | --◎ 不包含null值 |
34 | |
35 | ex. |
36 | select 欄1,sum(欄2) aa from 資料表a group by 欄1; |
37 | |
38 | NVL(expr1,expr2) |
39 | --expr1是null時,將expr2的值傳回 |
40 | |
41 | ex. |
42 | select nvl(欄1,'無資料') aa from 資料表a; |
43 | |
44 | UID、USER |
45 | --◎ 取得使用者id及使用者名稱 |
46 | --◎ 得到的 user id 及 user name 為 oracle database 內所定義的 |
47 | |
48 | ex. |
49 | select uid,user from dual; |
50 | |
51 | USERENV(option) |
52 | --◎ 取得使用者環境變數的設定值,此函數不可用於check子句中 |
53 | --◎ 若資料庫位於unix平台,下userenv('TERIMAL')指令可得到user terminal名稱 |
54 | |
55 | ex. |
56 | select userenv('LANGUAGE') from dual; |
57 | |
58 | USERENV('LANGUAGE') |
59 | ------------------------------------- |
60 | TRADITIONAL CHINESE_TAIWAN.ZHT16BIG5 |
61 | |
62 | DECODE() |
63 | --多重置換 |
64 | --等於sql server、db2的case(http://blog.blueshop.com.tw/pili9141/articles/53513.aspx) |
65 | |
66 | ex. |
67 | select DECODE(欄1,'01','一','02','二','03','三') from 資料表a; |
68 | --當欄1為01時,印出一,為02時,印出二,為03時,印出三 |