登录
首页 >  数据库 >  MySQL

MySQL——分组查询

来源:SegmentFault

时间:2023-02-23 19:07:22 128浏览 收藏

数据库小白一枚,正在不断学习积累知识,现将学习到的知识记录一下,也是将我的所得分享给大家!而今天这篇文章《MySQL——分组查询》带大家来了解一下MySQL——分组查询,希望对大家的知识积累有所帮助,从而弥补自己的不足,助力实战开发!

什么是分组

按照性别将班上同学分为男生一组,女生一组。

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——分组查询》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多数据库知识!

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>