MYSQL之Group By

概述

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

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

数据处理

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

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

Example

表grade

iduser_idscorecourseclass
1156数学1
2378数学1
3197语文1
4488数学2
5367语文1
6399英语1
7144英语1
8497语文2
9458英语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()等一起使用的,所返回的结果除了聚合查询结果外,只能加上分组依据字段。同时,分组依据字段可以是多个,由这被指定的多个字段确定其分组。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值