分组查询
一、分组函数
分组函数是对表中一组记录进行操作,每组只返回一个结果,即首先要对表记录进行分组,然后再进行操作汇总,每组返回一个结果,分组时可能是整个表分为一组,也可能根据条件分成多组。
分组函数常用到以下五个函数:
1、MIN()
2、MAX()
3、SUM()
4、AVG()
5、COUNT()
1.MIN函数和MAX函数
MIN和MAX函数主要是返回每组的最小值和最大值。
MIN([DISTINCT|ALL] column|expression)
MAX([DISTINCT|ALL] column|expression)
eg:查询入职日期最早和最晚的日期
SQL> SELECT MIN(HIREDATE), MAX(HIREDATE)
FROM EMP
2.SUM函数和AVG函数
SUM和AVG函数分别返回每组的总和及平均值。
SUM([DISTINCT|ALL] column|expression)
AVG([DISTINCT|ALL] column|expression)
注意:SUM和AVG函数都是只能够对数值类型的列或表达式操作。
eg:查询职位以SALES开头的所有员工平均工资、最低工资、最高工资、工资和。
SELECT AVG(SAL), MAX(SAL),MIN(SAL), SUM(SAL)
FROM EMP
WHERE JOB LIKE 'SALES%';
3.COUNT函数
COUNT函数的主要功能是返回满足条件的每组记录条数。
COUNT( *|{[DISTINCT|ALL] column|expression})
eg:查询部门30有多少个员工
SELECT COUNT(*)