很多学习php的朋友对于mysql group by用法不是很清楚,下面就由达内的老师来为学员们介绍一下关于mysql group by用法的相关内容。
GROUP BY 是分组查询, 一般 GROUP BY 是和 聚合函数配合使用,group by 有一个原则,就是 select 后面的所有列中,没有使用聚合函数的列,必须出现在 group by 后面.
在介绍GROUP BY 和 HAVING 子句前,我们必需先讲讲sql语言中一种特殊的函数:聚合函数,例如SUM, COUNT, MAX, AVG等。
这些函数和其它函数的根本区别就是它们一般作用在多条记录上。
例如:SELECT SUM(population) FROM table1
注释:这里的SUM作用是返回所有population字段上的记录,说白了就是计算这个字段上的所有数据的总和。
通过使用GROUP BY 子句,可以让SUM 和 COUNT 这些函数对属于某一组的数据起作用。
当你指定一个类型时(比如GROUP BY apple), 那么将返回apple这一组的数据总和
例如:SELECT SUM(*) FROM table2 GROUP BY apple
注释:计算属于apple这一类的所有数据总和。
HAVING子句可以让我们筛选成组后的各组数据,WHERE子句在聚合前先筛选记录.也就是说作用在GROUP BY 子句和HAVING子句前.
而 HAVING子句在聚合后对组记录进行筛选
例如:SELECT fruit, SUM(apple), SUM(orange), SUM(banana) FROM table3
GROUP BY fruit
HAVING SUM (apple) > 10000
注释:计算每种水果的总数,且仅显示那些apple总数超过10000的
关于mysql group by用法的内容已经为大家介绍完了,希望朋友们对这方面内容的了解能有所进步。
全文:http://www.yc-edu.org/PHPpeixun/2505.html