group by 和where


一,group by 字句也和where條件語句結合在一起使用。當結合在一起時,where在前,group by 在后。
即先對select xx from xx的記錄集合用where進行篩選,然后再使用group by 對篩選后的結果進行分組 使用having字句對分組后的結果進行篩選。



二,需要注意having和where的用法區別:
1.having只能用在group by之后,對分組后的結果進行篩選(即使用having的前提條件是分組)。

2.where肯定在group by 之前。

3.where后的條件表達式里不允許使用聚合函數,而having可以。


三,當一個查詢語句同時出現了where,group by,having,order by的時候,執行順序和編寫順序是:

1.執行where xx對全表數據做篩選,返回第1個結果集。

2.針對第1個結果集使用group by分組,返回第2個結果集。

3.針對第2個結果集中的每1組數據執行select xx,有幾組就執行幾次,返回第3個結果集。

4.針對第3個結集執行having xx進行篩選,返回第4個結果集。

5.針對第4個結果集排序。


免責聲明!

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



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