MySQL是一種可靠且快速的關系型數據庫管理系統,它在許多Web應用程序中被廣泛使用。當我們需要從一張表中查詢數據時,有時候我們希望去重某一列的數據,這時我們可以使用MySQL內置的DISTINCT關鍵字。
SELECT DISTINCT column_name FROM table_name;
其中,column_name是要去重的列名,table_name是要查詢的表名。
除了使用DISTINCT關鍵字之外,我們還可以使用GROUP BY關鍵字去重。GROUP BY關鍵字對指定的列進行分組,然后對每一組只返回一條記錄。
SELECT column_name FROM table_name GROUP BY column_name;
同樣地,column_name是要去重的列名,table_name是要查詢的表名。
除了以上兩種方法,我們還可以使用子查詢來實現去重。在子查詢中篩選出不重復的列,再在外層查詢中將結果與原表做JOIN操作。
SELECT table_name.* FROM table_name JOIN (SELECT column_name FROM table_name GROUP BY column_name) t ON t.column_name = table_name.column_name;
需要注意的是,以上三種去重方法適用于不包含NULL值的列。如果要去重的列中包含NULL值,則需使用IS NOT NULL條件過濾NULL值。
SELECT DISTINCT column_name FROM table_name WHERE column_name IS NOT NULL; SELECT column_name FROM table_name WHERE column_name IS NOT NULL GROUP BY column_name;
上一篇mysql 去除冗余
下一篇mysql 去重 留一個