使用列的重复值从 table 中删除记录,例如 QuestionId
Delete records from a table using aduplicate value of a column say QuestionId
使用列 QuestionId 的重复值从 table 中删除记录。如果我有两条 QuestionId 为 12123 的记录(不要考虑其他列的值),那么我想删除第一条 QuestionId 为 12123 的记录并保留第二条记录。我想要使用 SQL 脚本执行此操作。
我发现了很多删除重复行的方法,但没有找到根据列值执行此操作的解决方案。
从 table 中删除任何列的重复记录:
WITH CTE (AspNetId,MemberId, DuplicateCount)
AS
(
SELECT AspNetId,MemberId,
ROW_NUMBER() OVER(PARTITION BY AspNetId ORDER BY AspNetId) AS DuplicateCount
FROM [dbo].[apta_Profile]
)
DELETE
FROM CTE
WHERE DuplicateCount > 1
GO
我不确定你指的外键是什么。请详细说明。
脚本中缺少一个逗号,所以我在执行时遇到错误,所以我现在已经更正了它。
使用列 QuestionId 的重复值从 table 中删除记录。如果我有两条 QuestionId 为 12123 的记录(不要考虑其他列的值),那么我想删除第一条 QuestionId 为 12123 的记录并保留第二条记录。我想要使用 SQL 脚本执行此操作。
我发现了很多删除重复行的方法,但没有找到根据列值执行此操作的解决方案。
从 table 中删除任何列的重复记录:
WITH CTE (AspNetId,MemberId, DuplicateCount)
AS
(
SELECT AspNetId,MemberId,
ROW_NUMBER() OVER(PARTITION BY AspNetId ORDER BY AspNetId) AS DuplicateCount
FROM [dbo].[apta_Profile]
)
DELETE
FROM CTE
WHERE DuplicateCount > 1
GO
我不确定你指的外键是什么。请详细说明。
脚本中缺少一个逗号,所以我在执行时遇到错误,所以我现在已经更正了它。