MySQL中的group by语句是用于对数据进行分组的,可以对一列或多列进行分组。下文将详细讲解MySQL group by对单个字段和多个字段进行分组的方法。
单个字段分组
假设我们有一个学生成绩表,表结构如下:
id | name | subject | score |
---|---|---|---|
1 | Tom | Math | 80 |
2 | Lily | English | 90 |
3 | Tom | English | 85 |
4 | Jack | Math | 75 |
我们想要按照科目来统计每个科目的平均成绩,可以使用以下SQL语句:
SELECT subject, AVG(score) as average_score
FROM score_table
GROUP BY subject;
上述代码会通过subject字段对数据进行分组,并计算每个组的平均成绩,最终返回以下结果:
subject | average_score |
---|---|
Math | 77.5 |
English | 87.5 |
多个字段分组
假设我们有一个订单表,表结构如下:
order_id | customer | product | quantity | price |
---|---|---|---|---|
1001 | Tom | Apple | 2 | 5 |
1002 | Lily | Banana | 3 | 3 |
1003 | Tom | Orange | 1 | 2 |
1004 | Jack | Apple | 1 | 5 |
1005 | Tom | Banana | 2 | 4 |
我们想要按照顾客和产品来统计每个顾客购买每种产品的总量,可以使用以下SQL语句:
SELECT customer, product, SUM(quantity) as total_quantity
FROM order_table
GROUP BY customer, product;
上述代码会通过customer和product两个字段对数据进行分组,并计算每个组的总量,最终返回以下结果:
customer | product | total_quantity |
---|---|---|
Tom | Apple | 2 |
Tom | Banana | 2 |
Tom | Orange | 1 |
Lily | Banana | 3 |
Jack | Apple | 1 |
这就是MySQL group by对单个字段和多个字段进行分组的方法,希望可以对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MySQL group by对单字分组序和多字段分组的方法讲解 - Python技术站