SQL如何刪除重復數據


在使用數據庫時,如何刪除重復數據?

 

如圖所示:用戶表(user)數據

 

1、輸入查詢語句(查詢name重復數據)

select * from user where name in (select name from user group by name having count(name) > 1)

查詢后,可以看到name叫“張三”的有3條數據。

 

可以使用distinct去重(返回不重復的用戶名)

select distinct name from user

查詢后,name有三個名字(去重),分別是“張三”、“李四”、“王五”。

 

2、刪除多余的重復記錄(name),只保留id最小的記錄。

delete from user where id not in ( select dt.id from ( select min(id) as id from user group by name ) dt)

查詢表數據,可以看到name重復的數據已經刪除。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM