mysql group by作用

本文介绍了 MySQL 中 Group By 的用法及其与聚合函数的结合,通过实例演示如何按列分组并应用 AVG、COUNT 等函数进行数据分析。

  group by是跟MySQL的聚合函数一起使用的,通过把一个列(column)分成组(group),来分别使用聚合函数。

  常见聚合函数:

  • AVG() 求平均数
  • COUNT() 求列的总数
  • MAX() 求最大值
  • MIN() 求最小值
  • SUM() 求和


聚合函数特点就是它们的结果都是一个单一的值,多个行一起应用一个这样的函数后,就变成一行了。加上Group by之后,就打破了这个规则了,数据都先被group起来,然后再分别应用聚合函数。举例:


drop table toy;
create table toy (name varchar(40), version varchar(40));
insert into  toy values ('toy1','v1');
insert into  toy values ('toy1','v2');
insert into  toy values ('toy2','v1');
insert into  toy values ('toy2','v2');
insert into  toy values ('toy2','v3');
insert into  toy values ('toy3','v1');
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

我通过上面的mysql代码生成一个表叫toy: 
这里写图片描述 
我们可以通过先把toy表按name分组(group),然后再数不同名字的toy有多少个,SQL代码是:

select name , count(name) from toy group by name;
  • 1
  • 1

这里写图片描述 
可以看到,我们group by name,name列就是没有重复的,流程是,把所有列按name分组,然后应用count这个函数。coun() 的作用是数有多少列。 
我来看来按version分组看看:

select version , count(name) from toy group by version;
  • 1
  • 1

这里写图片描述 
是不是跟预期的结果一样呢?

总结:

  • group by 跟聚合函数一起使用
  • 作用是先把table按列分组(比如说group by name,是按name分组),然后各个group分别使用聚合函数,然后得出结果。
参考自: http://blog.youkuaiyun.com/u010093140/article/details/50479752
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值