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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM