分组函数作用于一组数据,并对一组数据返回一个值,标志是
GROUP BY, MIN, MAX, AVG, COUNT,
GROUP BY 子句将表中的数据分成若干组,
WHERE 一定放在FROM后面,WHERE 子句不能使用子函数
在SELECT 列表中所有未包含在组函数中的列都应该包含
在 GROUP BY 子句中。
例:查询各个部门的员工数
SELECT DEPARTMENT_ID, COUNT (EMPLOYEE_ID)
FROM EMPLOYEES
WHERE DEPARTMENT_ID = 50
GROUP BY DEPARTMENT_ID
MIN(最小值)和MAX(最大值)函数
可以对任意数据类型的数据使用MIN和MAX函数。
例:查询各个部门的最高工资和最低工资
SELECT MAX (SALARY), MIN (SALARY)
FROM EMPLOYEES
GROUP BY DEPARTMENT_ID
COUNT(计数)函数
COUNT()返回表中记录总数,适用于任意数据类型,返回不为空的记录总数
例:SELECT COUNT () FROM EMPLOYEES
组函数与空值
组函数忽略空值
例:SELECT AVG (SALARY) FROM EMPLOYEES;
在组函数中使用NVL函数,使分组函数无法忽略空值。
例:SELECT AVG (NVL (SALARY, 0)) FROM EMPLOYEES
HAVING子句过滤分组
1、 行已经被分组
2、 使用了组函数
3、 满足HAVING子句中条件的分组将被显示
ORACLE SQL分组函数
最新推荐文章于 2022-07-29 10:17:34 发布