Oracle數據庫(六)—— 分組函數
阿新 • • 發佈:2018-08-03
ble img color sele 最大值 (六) 部門 png std
(一)組函數
avg:平均函數
max:最大值函數
min:最小值函數
sum:求和函數
stddev:標準差函數
count():計數函數
count(expr) 返回expr不為空的記錄總數
NVL函數使分組函數無法忽略空值
COUNT(DISTINCT expr)返回expr非空且不重復的記錄總數
(二) group by
1、對單個列分組
-- 求出employees表中各部門的平均工資
2、對多個列分組
-- 求出employees表中各部門、各工種的平均工資
- 在SELECT 列表中所有未包含在組函數中的列都應該包含 在 GROUP BY 子句中
- 不能在 WHERE 子句中使用組函數
- 可以在 HAVING 子句中使用組函數
(三)having:過濾分組
使用 HAVING 過濾分組:
1. 行已經被分組。
2. 使用了組函數。
3. 滿足HAVING 子句中條件的分組將被顯示
SELECT column, group_function
FROM table
[WHERE condition]
[GROUP BY group_by_expression]
[HAVING group_condition]
[ORDER BY column];
-- 求出各部門中平均工資大於6000的部門
(四)嵌套組函數
-- 求出各部門中平均工資的最大值
(五)總結
- 使用組函數:avg(),sum(),max(),min(),count()
- 在查詢中使用 GROUP BY 子句。
- 在查詢中使用 HAVING 子句。
Oracle數據庫(六)—— 分組函數