mysql group by作用

xiaoxiao2021-02-27  297

  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'); 12345678910 12345678910

我通过上面的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.csdn.net/u010093140/article/details/50479752
转载请注明原文地址: https://www.6miu.com/read-6096.html

最新回复(0)