一個查詢語句同時出現了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個結果集排序。
通過一個順口溜總結下順序:我(W)哥(G)是(SH)偶(O)像。按照執行順序的關鍵詞首字母分別是W(where)->G(Group)->S(Select)->H(Having)->O(Order),對應漢語首字母可以編成容易記憶的順口溜:我(W)哥(G)是(SH)偶(O)像