聚合函数
sum:求和
eg:SELECT SUM(SAL) AS '工资和' FROM EMP;
avg:平均值
eg:SELECT AVG(SAL) FROM EMP;
max:最大值
eg:SELECT MAX(SAL) FROM EMP;
min:最小值
eg:SELECT MIN(SAL) FROM EMP;
count:记录数(数据条数)
eg:SELECT COUNT(*) FROM EMP;
注意:count不统计null值
eg:SELECT SUM(SAL)/COUNT(*) FROM EMP;
SELECT AVG(SAL) FROM EMP;
分组查询(group by)
语法: select... 5
from... 1
where... 2
group by... 3
having... 4
order by... 6
注意:如果包含group by的sql,那么在select后面只能接被分组的列和聚合函数
1 --聚合函数 2 --sum:求和 3 SELECT SUM(SAL) AS '工资和' FROM EMP; 4 --avg:平均值 5 SELECT AVG(SAL) FROM EMP; 6 --max:最大值 7 SELECT MAX(SAL) FROM EMP; 8 --min:最小值 9 SELECT MIN(SAL) FROM EMP; 10 --count:记录数(数据条数) 11 SELECT COUNT(*) FROM EMP; 12 13 --1.部门10的工资和 14 SELECT SUM(SAL) FROM EMP WHERE DEPTNO =10; 15 --2.部门20的平均工资 16 SELECT AVG(SAL) FROM EMP WHERE DEPTNO=20; 17 --3.部门10,20中的最高工资 18 SELECT MAX(SAL) FROM EMP WHERE DEPTNO IN(10,20); 19 --4.部门10,20的总人数 20 SELECT COUNT(*) FROM EMP WHERE DEPTNO IN(10,20); 21 --5.部门30的最低工资 22 SELECT MIN(SAL) FROM EMP WHERE DEPTNO=30; 23 24 SELECT SUM(SAL)/COUNT(*) FROM EMP; 25 SELECT AVG(SAL) FROM EMP; 26 27 --所有的聚合的判断都写在having后面 28 SELECT DEPTNO,AVG(SAL) 29 FROM EMP 30 GROUP BY DEPTNO 31 HAVING AVG(SAL)>2000; 32 --部门人数大于5的部门编号和部门人数数量 33 SELECT DEPTNO,COUNT(*) AS '部门人数数量' FROM EMP GROUP BY DEPTNO HAVING COUNT(*)>5;