在 mysql 中使用 group by 的意思是分组查询。如果 group by 后面跟的是单个字段,那么表示按照这个字段分组查询,如果 group by 后面跟的是多个字段,那么表示按照这些字段的不同组合分组查询。
下面我们举例说明下 group by 单字段和多个字段的区别。
假设有如下数据:
name | sex | score |
---|---|---|
王小明 | 男 | 95 |
李丽 | 女 | 60 |
周涛 | 男 | 82 |
周涛 | 女 | 73 |
周涛 | 女 | 77 |
李丽 | 女 | 92 |
刘德 | 男 | 88 |
select sum(score) as sum_score from user group by name
name | sum_score |
---|---|
王小明 | 95 |
李丽 | 152 |
周涛 | 232 |
刘德 | 88 |
根据实际运行结果,我们可以看到,如果在这种情况下使用 group by 单字段 name,最终只会查询出一个周涛,实际上周涛按性别区分有两个人。因此我们就要用到 group by 多字段进行查询了。
select sum(score) as sum_score from user group by name,sex
name | sum_score |
---|---|
王小明 | 95 |
李丽 | 152 |
周涛 | 82 |
周涛 | 150 |
刘德 | 88 |
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。