1. group by
group by按照查询结果集中的某一列(或多列),进行分组,值相等的为一组。
比如原始表
select 类别, sum(数量) as 数量之和
from A
group by 类别
返回结果:
2.order by
使用order by,一般是用来,依照查询结果的某一列(或多列)属性,进行排序(升序:ASC;降序:DESC;默认为升序)。
select 类别, sum(数量) AS 数量之和
from A
group by 类别
order by sum(数量) desc
3. group by all
select 类别, 摘要, sum(数量) as 数量之和
from A
group by all 类别, 摘要
结果的表中就会出现三列
4.having 和 where 的区别
Where是一个约束声明,在查询数据库的结果返回之前对数据库中的查询条件进行约束,即在结果返回之前起作用,且where后面不能使用聚合函数。
Having是一个过滤声明,所谓过滤是在查询数据库的结果返回之后进行过滤,即在结果返回之后起作用,并且having后面可以使用聚合函数。
所谓聚合函数,是对一组值进行计算并且返回单一值的函数:sum---求和,count---计数,max---最大值,avg---平均值等。