SQL server表中查询重复的数据

本文介绍了在SQL Server中处理重复数据的两种方法。方法1通过链接和分组来找出重复记录,方法2利用窗口函数进行标记。示例中创建了临时表并展示了查询过程,帮助理解如何在实际项目中应用这些技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

做项目经常会碰到重复数据处理的需求,当需求是标记相邻重复的数据,整理以下两种方式

--方法1:链接,分组出有重复的资料,再次链接原表中数据,下面是语法
select * from t a
left join (
select t.t1,t.t2 
from t 
group by t.t1,t.t2
having COUNT(1)>1
) b on a.t1=b.t1 and a.t2=b.t2


--方法2:利用函数
select *,count(1) over(partition by t.t1,t.t2)
from t 

--下面展示例子

--首先创建模拟临时数据表
if OBJECT_ID('tempdb..#123')is not null drop table #123
create table #123(
staff varchar(8),
cardtime datetime
)
insert into #123
(staff,cardtime)
values
('a','2016-03-09 08:00'),
('b','2016-03-09 08:00'),
('a','2016-03-09 08:00

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值