MySQL如何計算不重復記錄數
在MySQL中,有時需統計數據表中不重復記錄的數量,即去重統計。 MySQL提供了多種方法來實現這種需求,下面將具體介紹。
使用DISTINCT關鍵字去重
使用DISTINCT關鍵字對某一列或多列進行去重,然后使用COUNT函數統計不重復的行數即可。例如:
SELECT COUNT(DISTINCT column_name) FROM table_name;
其中, column_name 為需要進行去重的列名, table_name 為需要進行統計的表名。
使用GROUP BY語句分組統計
使用GROUP BY語句按照某一列或多列的值進行分組,然后使用COUNT函數統計分組后的行數即可。例如:
SELECT column_name,COUNT(*) FROM table_name GROUP BY column_name;
其中 column_name 為需要進行分組的列名, table_name 為需要進行統計的表名。
使用subquery子查詢嵌套實現
使用子查詢嵌套,先進行去重,再使用COUNT函數統計有多少行即可。例如:
SELECT COUNT(*) FROM (SELECT DISTINCT column_name FROM table_name) AS alias_name;
其中, column_name 為需要進行去重的列名,table_name 為需要進行統計的表名,alias_name 為臨時表的別名。