sql中若是要分組查詢,通常都會使用到group by語句,如何熟練使用group by語句呢,我分如下幾點進行總結。html
group by通常與聚合函數一塊兒使用。這是由於group by以後結果集就變成了多個分組,而每一個分組可能包含多條記錄,要想針對每一個分組進行操做,因此必須使用能夠做用在多條記錄上的聚合函數。好比,下面的示例就使用了group by和聚合函數查詢每一個PNR的總記錄數,sql語句以下。sql
1 -- 1,Group by與聚合函數 2 -- 查詢每一個PNR的總記錄數 3 SELECT NewPNR,COUNT(*) FROM dbo.RemoteSession 4 GROUP BY NewPNR;
若是要對分組進行篩選呢?要怎麼實現,請繼續往下看。函數
要對分組後的結果進行篩選,通常使用having語句來實現。請看下面示例,代碼以下。spa
1 -- 2,Group by與Having 2 -- 查詢總記錄數>1(或者說有重複的)的PNR 3 SELECT NewPNR,COUNT(*) FROM dbo.RemoteSession 4 GROUP BY NewPNR 5 HAVING COUNT(*)>1;
關於group by的使用,有幾個特別須要關注的地方。code
參考資料htm