|
問題:一個表有自增的ID列,表中有一些記錄內容重復,也就是說這些記錄除了ID不同之外,其他的信息都相同。需要把重復的記錄保留一條,剩下的刪除。
這種需求一般開發人員都會,我這里寫出兩個版本。
版本一:由于記錄有自增列,所以自增列可以做為記錄的唯一標識,由此可見,重復的記錄的自增ID是一個遞增關系,這里我們可以只保留ID最小的那條記錄,其它的全部刪除。利用一個嵌套語句就非常容易寫出下面的SQL。其中的sname,saddress是記錄除了ID外的所有列。
DELETE FROM aWHERE id NOT IN ( SELECT MIN(id)
FROM a
GROUP BY sname,
saddress )
it知識庫:利用SQL05特性刪除表中重復數據,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。