内容简介:按照性别将班上同学分为男生一组,女生一组。因为分组函数是sal,所以job不在分组函数中,必须出现在group by子句中
什么是分组
按照性别将班上同学分为男生一组,女生一组。
group by
/* 查看每个职位的最高、最低工资 */ select job,max(sale),min(sale) from emp group by job;
使用group by 语句
- 出现在select列表中的字段,如果出现的位置不是分组函数,那么必须出现在group by子句中。
因为分组函数是sal,所以job不在分组函数中,必须出现在group by子句中
如果不出现,均出错!!!
- 正确做法:
/* 查看不同职位的人数和平均工资 */ select job,count(empno),avg(sal) from emp group by job;
- 错误做法:
/* deptno和job都应该出现在group by后面 */ select deptno,job,count(empno),avg(sal) from emp group by job;
group by子句后面不能含有where子句!!!
having
对分组的结果,进行筛选
/* 查询平均工资大于2000的部门和其平均工资 */ select deptho avg(sal) from emp group by deptno having avg(sal)>2000;
/* 显示每一年入职公司各多少人 */ select year(hiredate),count(empno) from emp group by year(hiredate);
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- Mysql高级查询-----汇总和分组数据
- mybatis从数据库中取数据且分组,返回分组数据
- Java8中使用stream进行分组统计和普通实现的分组统计的性能对比
- MongoDB 分组统计
- SPL 分组优化技巧
- WAF分组安全策略匹配
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。