在使用MySQL進行查詢的過程中,我們有時會遇到重復的數據,這時候就需要去掉這些重復的數據。下面就介紹幾種去重的方法:
SELECT DISTINCT column_name FROM table_name;
使用DISTINCT關鍵字可以去掉重復的數據,只要將需要去重的字段名添加到SELECT語句中就可以了。
SELECT column1, COUNT(*) FROM table_name GROUP BY column1 HAVING COUNT(*) >1;
如果需要查詢哪些數據是重復的,可以使用GROUP BY和HAVING語句來實現。例如上面的語句就會列出column1字段中有重復數據的記錄。
SELECT * FROM table_name WHERE column1 NOT IN (SELECT MIN(column1) FROM table_name GROUP BY column2);
有時候需要刪除除了最小值之外的所有重復數據,可以使用子查詢和NOT IN語句實現。以上面的語句為例,將會刪除所有column2相同并且column1不是最小值的記錄。