sql中如果要分組查詢,一般都會使用到group by語句,如何熟練使用group by語句呢,我分以下幾點進行總結。
group by一般與聚合函數一起使用。這是因為group by之后結果集就變成了多個分組,而每個分組可能包含多條記錄,要想針對每個分組進行操作,所以必須使用可以作用在多條記錄上的聚合函數。比如,下面的示例就使用了group by和聚合函數查詢每個PNR的總記錄數,sql語句如下。
1 -- 1,Group by與聚合函數2 -- 查詢每個PNR的總記錄數3 SELECT NewPNR,COUNT(*) FROM dbo.Remotesession4 GROUP BY NewPNR;
如果要對分組進行篩選呢?要怎么實現,請繼續往下看。
Group by與Having要對分組后的結果進行篩選,一般使用having語句來實現。請看下面示例,代碼如下。
1 -- 2,Group by與Having2 -- 查詢總記錄數>1(或者說有重復的)的PNR3 SELECT NewPNR,COUNT(*) FROM dbo.RemoteSession4 GROUP BY NewPNR5 HAVING COUNT(*)>1;需要注意的地方
關于group by的使用,有幾個特別需要關注的地方。
參考資料
新聞熱點
疑難解答