group by 用來對結果進行分組,分組之後便於統計,所以總會有count跟著出現
例如下表:
按照ID分組,統計每個ID重復了幾次
SELECT yww_test.id,COUNT(id) as n FROM yww_test GROUP BY yww_test.id
把重復的記錄找出來可以像下面這樣
SELECT id,COUNT(*) AS n FROM yww_test GROUP BY yww_test.id HAVING COUNT(*)>1;
注意:
count(*)將返回表格中所有存在的行的總數包括值為null的行,然而count(列名)將返回表格中除去null以外的所有行的總數(有默認值的列也會被計入).
distinct 列名,得到的結果將是除去值為null和重復數據後的結果