注意事項:函數
【3.1】一塊兒使用時,where在前group by 在後;對象
【3.2】注意having和where的用法區別;排序
(3.2.1)having只能用在group by 以後,對分組的結果進行篩選{即便用having的前提條件是分組};select
(3.2.2)where確定再group by以前;數據
(3.2.3)where後的條件表達式裏不允使用聚合函數,而having能夠;查詢
【3.3】當一個查詢語句同事出現了where,group by,having,order by的時候,執行順序和編寫順序是:vi
<Where--group by---having--order by>co
(1) 執行where xx對全表數據作篩選,返回第1個結果集。
(2) 針對第1個結果集使用group by分組,返回第2個結果集。
(3) 針對第2個結果集中的每1組數據執行select xx,有幾組就執行幾回,返回第3個結果集
(4) 針對第3個結集執行having xx進行篩選,返回第4個結果集。
(5) 針對第4個結果集排序。