聚合函数
-- 查询 emp 表中员工的最高工资、最低工资、平均工资及工资总和
select max(sal) 最高工资,min(sal) 最低工资,avg(sal) 平均工资,sum(sal) 工资总和 from emp;
-- 返回 emp 表的员工总数
select count(x) 员工总数 from emp;- 本质也是统计全表的记录数,与 * 效果一致
select count(1) 员工总数 from emp;
-- 返回 emp 表的部门总数
Select count(distinct deptno) 部门总数from emp;
-- 统计有奖金的员工人数
-- 忽略了 null,但是计算了 0
select count(comm) from emp;
-- 从业务逻辑上来讲,奖金金额为 0 的员工不应该视为有奖金的员工
select count(comm) from emp where comm!=0;
-- 查询公司内部不同奖金档位的获得人数
select comm,count(*) from emp group by comm;
-- 查询各部门不同职位的平均工资
select deptno,job,avg(sal) as 平均工资from emp group by deptno,job;
-- 查询各部门 clerk 的平均工资-
-- 用 having 子句筛选
select deptno,job,avg(sal) 平均工资 from emp group by deptno,job having job='clerk';
-- 用 where 子句筛选
select deptno,job,avg(sal) 平均工资 from emp where job= clerk' group by deptno,job;
-- 查询平均工资大于 2000 的部门
select deptno,avg(sal) 平均工资from emp group by deptno
having avg(sal)>2000;








暂无数据