MYSQL之Group By

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_28379809/article/details/83119026

概述

Group By即根据其指定的规则对查询数据进行分组,这个分组的意义是对分组内数据进行数据处理,包括SUM、COUNT等等。
这里需要注意的是:Select ... Group By xxx的查询结果中只能包含两种数据:由Group BY指定的分组依据字段,以及数据处理的结果。如下:

Select userId, SUM(score) as sumScore 
From grade 
Group By userId

数据处理

Group By通常是和聚合函数一起使用的,也就是上面所说的数据处理。常见的聚合函数如下:

序号 函数 描述
1 sum(列名) 求和
2 max(列名) 最大值
3 min(列名) 最小值
4 avg(列名) 平均值
5 count(列名) 统计,注意与count(*)的区别

Example

表grade

id user_id score course class
1 1 56 数学 1
2 3 78 数学 1
3 1 97 语文 1
4 4 88 数学 2
5 3 67 语文 1
6 3 99 英语 1
7 1 44 英语 1
8 4 97 语文 2
9 4 58 英语 2
# SQL 
SELECT class, SUM(score) from grade GROUP BY class

# 执行结果
class  sum(score)
1	   441
2	   243
# 多分组依据字段
SELECT class, userId, SUM(score) from grade GROUP BY class, userId

# 执行结果
class user_id SUM(score)
1	  1	      197
1	  3	      244
2	  4	      243

总结

Group By通常是和聚合函数SUM()COUNT()等一起使用的,所返回的结果除了聚合查询结果外,只能加上分组依据字段。同时,分组依据字段可以是多个,由这被指定的多个字段确定其分组。

猜你喜欢

转载自blog.csdn.net/qq_28379809/article/details/83119026
今日推荐