-- --标准sql方法:mysql、sql server--
-- 查询重复 方法一
select t.id,t.name from test t join(
select min(id) id,name from test group by name having(count(1)>1)
) tt on t.id>tt.id and t.name=tt.name
-- 查询重复 方法二
select * from test where exists(
select * from (
select min(id) id,name from test group by name having(count(1)>1)
) as tt where test.id>tt.id and test.name=tt.name
)
-- 删除重复 方法
delete from test where exists(
select * from (
select min(id) id,name from test group by name having(count(1)>1)
) as tt where test.id>tt.id and test.name=tt.name
)
-- --sql server方法----
-- 查询
select * from (
select ROW_NUMBER() over(partition by name order by id ) row,id,name from test
) t where t.row>1
-- 删除
delete from test where exists(
se
数据库数据删除重复数据
最新推荐文章于 2022-08-30 14:53:13 发布
本文介绍了使用SQL查询和删除重复数据的方法,包括针对单个字段和多个字段的重复记录。提供了标准SQL方法以及针对SQL Server的解决方案,涉及的SQL语句包括通过GROUP BY和HAVING子句找出重复项,然后使用DELETE语句删除多余的记录。
摘要由CSDN通过智能技术生成