数据库(6)

聚合函数
  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;
示例
原文地址:https://www.cnblogs.com/yang82/p/7009296.html