您的位置:首页 > 其它

ROW_NUMBER

2016-02-24 09:03 169 查看
16:23 2015/4/16 删除重复数据,连续被两位同事问到完全相同的重复记录如何删除只保留一条

--比如表里有1W条数据,随机修改表里100条
DROP TABLE test
CREATE TABLE test(id INT IDENTITY,idd int)
DECLARE @i INT=1
WHILE(@i<1000)
BEGIN
INSERT INTO test(idd) select @i
SET @i=@i+1
END

;WITH cte AS
(SELECT *,ROW_NUMBER() OVER (ORDER BY NEWID()) rankid FROM test
)
UPDATE cte SET idd=999999
WHERE rankid<=10

SELECT * FROM test
WHERE idd=999999


View Code
两个例子都有借助ROW_NUMBER得到排序rankid,然后以rankid为条件进行操作。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: