sql server重复记录相关SQL

sql server重复记录相关sql

 

1.如何用sql语句把一个表里面某字段内有相同的记录查询出来

select name from tb group by name having count(*) > 1

 

 

显示所有数据

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

 

 

sql server里面如果没有设定主键而删除重复数据很麻烦:

一:保留重复记录中的一条记录,其他全部删除。

1:建立临时表,把不重复的数据转存
select distinct * into #tmp from 表名;
2:删除原表数据
truncate table 表名;
3:将数据导回
insert into 表名 select * from #tmp;
4:删除临时表
drop table #tmp;

 

 

依据 field2 排序,且field2 是重复记录的个数,即按重复记录的多少从大到小排序。

select top 3 field1,count(*) as field2 from tb where id = 123 group by field1 having count(*) > 0 order by field2 desc

 

(0)
上一篇 2022年3月21日
下一篇 2022年3月21日

相关推荐