MySQL中整條記錄去重
什么是記錄去重?
記錄去重,就是在一張表中去除重復的數據行,以達到數據清洗、數據分析等目的。MySQL中常用的方法就是使用DISTINCT、GROUP BY、UNION等關鍵字來實現對記錄的去重。
使用DISTINCT去重
DISTINCT是MySQL中常用的去重方式,用法很簡單,只需在SELECT關鍵字后添加DISTINCT就可以去重。
例如:
SELECT DISTINCT name, age FROM student;
這條語句會去除表中所有的重復記錄,只保留不同的name和age組合。
使用GROUP BY和HAVING去重
GROUP BY和HAVING組合的用法,最大的特點是可以對數據進行分組后再進行去重。
例如:
SELECT name, COUNT(1) FROM student GROUP BY name HAVING COUNT(1) >1;
這條語句會分組計算每一個name的數量,并只保留出現次數大于1的name。
使用UNION去重
UNION是MySQL中常用的去重方式,可以將多個表中的結果進行合并,去除重復的記錄,只留下不同的記錄結果。
例如:
SELECT name, age FROM table1 UNION SELECT name, age FROM table2;
這條語句會將table1和table2兩個表的結果進行合并,去除重復的記錄,返回不同的記錄結果。