在 mysql 中使用 group by 的意思是分组查询。如果 group by 后面跟的是单个字段,那么表示按照这个字段分组查询,如果 group by 后面跟的是多个字段,那么表示按照这些字段的不同组合分组查询。

下面我们举例说明下 group by 单字段和多个字段的区别。

假设有如下数据:

name sex score
王小明 95
李丽 60
周涛 82
周涛 73
周涛 77
李丽 92
刘德 88

group by 单字段查询语句示例:

select sum(score) as sum_score from user group by name
name sum_score
王小明 95
李丽 152
周涛 232
刘德 88

根据实际运行结果,我们可以看到,如果在这种情况下使用 group by 单字段 name,最终只会查询出一个周涛,实际上周涛按性别区分有两个人。因此我们就要用到 group by 多字段进行查询了。

group by 多字段查询语句示例:

select sum(score) as sum_score from user group by name,sex
name sum_score
王小明 95
李丽 152
周涛 82
周涛 150
刘德 88