MySQL数据库学习笔记(8)- DQL之数据分组

MySQL中使用 group by 对数据进行分组。它必须配合聚合函数进行使用,对数据进行分组后可以执行 countsumavgmaxmin 等操作。

1. 分组的基本使用

下面是一个简单的示例,将员工表 employee 按照部门 department 进行分组,统计各个部门的人数。

完整的表中数据如下:
MySQL数据库学习笔记(8)- DQL之分组数据

使用如下语句对数据进行分组:

结果如下:
MySQL数据库学习笔记(8)- DQL之分组数据

2. 分组过滤

之前我们对数据过滤使用 WHERE 子句, 对于分组后的数据我们使用 HAVING 子句。此时, WHERE 子句表示对分组前数据的过滤。

  • WHERE 表示对分组前的数据进行过滤。
  • HAVING 表示对分组后的数据进行过滤。

我们想要统计,员工工资不小于10000且部门人数多于1个人的部门统计。

SQL语句可以这么写:

结果如下:
MySQL数据库学习笔记(8)- DQL之分组数据

3. group_concat的使用

group_concat 配合 group by 一起使用,用于将某一列的值按指定的分隔符进行拼接,MySQL中默认为逗号。
比如我们按照部门分组后,想查看每个部门中都有谁,SQL语句可以写成这样:

结果如下:
MySQL数据库学习笔记(8)- DQL之分组数据

You May Also Like

About the Author: admin

喜欢编程、爱游戏,更爱生活。

发表评论

电子邮件地址不会被公开。