1、group by子句
(1)作用:根据数据列的每个成员对查询结果进行分组(分类)统计,最终得到一个分组汇总表。
(2)语法:select 列名 | 列函数 from 表名 group by 列名;
(3)案例:
1)创建staff表,表中包含id、name、dept、salary、edlevel、hiredate,如下图所示。
2)插入员工信息
3)显示每个员工的信息如下:
4)列出每个部门的最高薪水。
5)查询每个部门的总薪水数。
2、将where子句与group by子句一起使用
(1)作用:在查询之前将不满足where子句的行去掉,再进行分组查询。where子句必须在group by子句的前面。
(2)语法:select 列名 | 列函数 from 表名 where 条件 group by 列名;
(3)案例:
1)查询公司各部门的最高薪水。
2)查询2018年后公司各部门的最高薪资。
3)查询2018年后公司各部门各薪资等级的最高薪资。
3、在group by之后使用having
(1)作用:having 子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having 条件显示特定的组,也可以使用多个分组标准进行分组。
(2)语法:select 列名 | 列函数 from 表名 where 条件 group by 列名 having 子句;
(3)案例:
1)求公司各部门的最高薪资。
2)求公司各部门最高薪资超过10000的人。
注意:where子句不能接聚合函数,但是having子句可以。
MySQL的group by子句
最新推荐文章于 2025-06-26 20:21:45 发布