MySQL是一個非常流行的數據庫管理系統,它的特點之一是支持單表多列去重。在實際的開發中,我們經常會遇到需要從數據庫中取出某列數據,并且要保證這些數據沒有重復的情況。
下面我們來看一下如何使用MySQL進行單表多列去重。
SELECT DISTINCT column1, column2 FROM tableName;
以上代碼中,DISTINCT用來去重,column1和column2表示要去重的列,我們可以根據實際需求修改成需要去重的列名,tableName則表示數據所在的表名。
比如,我們有一個學生成績表,表結構如下:
CREATE TABLE `student_score` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, `subject` varchar(255) DEFAULT NULL, `score` int(11) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;
我們要查詢每個學生每科的成績,且每個學生每科只有一行數據,可以使用以下代碼:
SELECT DISTINCT name, subject, score FROM student_score;
以上代碼會查詢出每個學生每科的成績,并且每個學生每科只會有一行數據,同時保證了數據的唯一性。
總結來說,使用MySQL進行單表多列去重,只需要在SELECT語句中使用DISTINCT關鍵字,指定要去重的列即可實現。
下一篇mysql單表3萬行