在使用數據庫時,如何刪除重復數據?
如圖所示:用戶表(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重復的數據已經刪除。
公眾號:AllTests軟件測試