1. 程式人生 > >sql去除表內重複資料只保留一個

sql去除表內重複資料只保留一個

比如有一個表,資料量很大,但操作的時候有很多資料重複插入了,現在需要把重複的找出來,然後在重複的資料中只保留一個(不讓他重複)

比如表名為student,有很多個欄位,比如欄位有姓名`name`和身份證號`carNo`,那麼我們可以用name和carNo可以聯合判斷是否重複,語句如下

DELETE FROM student
WHERE (carNo IN
          (SELECT tel    FROM student   GROUP BY carNo
         HAVING (COUNT(*) > 1))) AND (`name` NOT IN
          (SELECT MIN(`name`)    FROM student   GROUP BY carNo
         HAVING (COUNT(*) > 1)))