CREATE TABLE #TableA
(
Id int
,Name nvarchar(20)
)
GO
INSERT INTO #TableA VALUES(1,'222')
INSERT INTO #TableA VALUES(2,'2323')
INSERT INTO #TableA VALUES(3,'DSF')
INSERT INTO #TableA VALUES(4,'234')
INSERT INTO #TableA VALUES(5,'SDFSF')
INSERT INTO #TableA VALUES(6,'222')
INSERT INTO #TableA VALUES(7,'2323')
INSERT INTO #TableA VALUES(8,'2323')
select * from #TableA
delete #TableA from
#TableA,(
select Id,ROW_NUMBER() over(partition by Name order by Id) as rn from #TableA
) nnt
WHERE #TableA.Id = nnt.Id and nnt.rn > 1
select * from #TableA
总结:ROW_NUMBER() partition by联用
还有其他方法,以前写过,大脑突然短路,等想起来再补充
本文详细介绍了SQL中ROW_NUMBER()函数的使用方法,特别是与PARTITION BY结合时如何实现数据排序与去重。通过具体实例展示了如何在数据处理中灵活运用该函数,提高数据查询效率。

被折叠的 条评论
为什么被折叠?



