group by与having的用法

  group by,即以其中一个字段的值来分组

select 的字段只能是分组的字段类别以及使l聚合函数如,max(),min(),count()的字段。

where在前,group by在后,注意group by紧跟在where最后一个限制条件后面,不能被夹在where限制条件之间。

where在前,group by在后的原因:要先用where过滤掉不进行分组的数据,然后在对剩下满足条件的数据进行分组。

having是在分好组后找出特定的分组,通常是以筛选聚合函数的结果,如sum(a) > 100等,且having必须在group by 后面,

使用了having必须使用group by,但是使用group by 不一定使用having。不允许使用双重聚合函数,所以在对分组进行筛选的时候

可以用order by 排序,然后用limit也可以找到极值。

如下图所示,使用having报错,通过order by 筛选

鸣谢参考:https://www.cnblogs.com/jingfengling/p/5962182.html

 

posted @   不变的变  阅读(45046)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示