标签:
实际应用中,我们经常需要做一些数据统计,将表的全部数据划分为几组数据,每组数据统计出一个结果。这种功能可以使用分组函数(多行函数、集合函数)来实现。
在Mysql数据库中,通过GROUP BY子句将分组的依据加入到查询语句中,并可使用HAVING子句进一步限制查询结果。主要有COUNT/AVG/SUM/MAX/MIN等几个分组函数。
COUNT: COUNT函数用来计算表中的总记录条数。
AVG、SUM:AVG、SUM这两个函数用来统计列或表达式的平均值和和值。
MAX、MIN:这两个函数用来获取列或表达式的最大值、最小值,可以用来统计任何数据类型。
要把数据表划分为一个一个小组,需要使用GROUP BY子句,把需要进行分组的列放在这个子句后面,如果需要进一步限制分组后的结果,需要使用HAVING子句。使用语法如下
SELECT <*,column [alias],...> FROM table
[WHERE condition(s)]
[GROUP BY group_by_expression]
[HAVING group_condition ]
[ORDER BY column[ASC|DESC]];
单列分组: 即分组的依据是一个列
多列分组:即分组的依据是多个列
SELECT email,desiredState,max( createTime) ss from ali_edas_app GROUP BY email,desiredState;
使用HAVING子句用来对分组后的结果进一步限制。如将平均薪水不小于3000才被显示出来:
注意:
标签:
原文地址:http://www.cnblogs.com/hym-pcitc/p/5613116.html