SQL group by 和 order by wherehaving

Posted bcbobo21cn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL group by 和 order by wherehaving相关的知识,希望对你有一定的参考价值。

表如下;

基本group by;

 

排序;

 

order by和group by一起使用:
1 order by 的列,必须是出现在group by 子句里的列
2 order by 要 放在 group by的 后面

一起使用where和having;

 

Having与Where的区别
where 子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,where条件中不能包含聚组函数,使用where条件过滤出特定的行;
having 子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having 条件过滤出特定的组,也可以使用多个分组标准进行分组;

 

select 类别, sum(数量) as 数量和 from abc GROUP BY 类别;
select 类别, sum(数量) as 数量和 from abc GROUP BY 类别 ORDER BY sum(数量) desc;

select 类别, sum(数量) as 数量和 from abc 
where 数量>8
GROUP BY 类别
having SUM(数量)>10

以上是关于SQL group by 和 order by wherehaving的主要内容,如果未能解决你的问题,请参考以下文章

SQL中,group by 跟order by有什么区别?

SQL语句中,如果有group by 和order by两个语句,是先分组还是先排序?

SQL中的group by语句和order by语句怎么用?最好能有个例子

SQL语句中,如果有group by 和order by两个语句,是先分组还是先排序?

sql语句 group by和order by

不能在sql中混合order by和group by