MySQL GROUP BY多个字段分组用法详解

时间:2023-03-08 16:27:12

mysql语句中group by 很容易理解 是分组查询。
比如 select sum(score) from user group by name 意思是查询每个人的分数总和
但是, select sum(score) from user group by item, sex 呢?
下面是测试结果。

测试数据如下:
MySQL GROUP BY多个字段分组用法详解

查询结果如下:
MySQL GROUP BY多个字段分组用法详解

根据结果分析
group by 多个字段的含义是,分别以每个字段的不同组合分组
本例 item=数学 sex=1 和 item=数学 sex=2 就会分到不同组中,以此达到计算和目的,会依次按照顺序分,先把第一个字段相同的划分为一组,再这些相同的字段中,再查找第二个字段相同的划分为一组

Tip:但是"SELECT * ,sum(score) FROM USER GROUP BY item AND sex "会将两个字段联合分组,本例 item=数学 sex=1 和 item=数学 sex=2 就会分到相同组中