【发布时间】:2019-06-02 08:30:53
【问题描述】:
我需要删除每个表 ID 的所有重复项,但只有一个。像下面这样。我需要删除 01,02,03 的 valueid 上的所有重复项...
原文:
id | valueid | data
____________________________
01 | 1001 | datadata1
01 | 1002 | datadata2
01 | 1001 | datadata1
02 | 1323 | datamoredata123
02 | 1323 | datamoredata123
03 | 22123 | evenmoredata
03 | 24444 | andalsomore
应该像这样结束:
id | valueid | data
____________________________
01 | 1001 | datadata1
01 | 1002 | datadata2
02 | 1323 | datamoredata123
03 | 22123 | evenmoredata
03 | 24444 | andalsomore
试图用这样的东西来做,但我不明白如何在 id 上对删除进行分组
WITH CTE AS(
SELECT valueid,
RN = ROW_NUMBER()OVER(PARTITION BY valueid ORDER BY valueid)
FROM tblvalues
)
DELETE FROM CTE WHERE RN > 1
有什么建议吗?
提前致谢
【问题讨论】:
标签: sql sql-server