我在表格中发现了重复的记录。我需要找到唯一标识符,以便从表格中删除它。
我知道有重复记录的唯一方法是通过列“subject”和“description”,因此如果至少有两个相同的主题和相同的描述,我需要删除一个并留下一个。
所以我已经得到了重复记录的列表,但是我无法获得唯一标识符以便删除它。
以下是我用来识别重复记录的方法。
我知道有重复记录的唯一方法是通过列“subject”和“description”,因此如果至少有两个相同的主题和相同的描述,我需要删除一个并留下一个。
所以我已经得到了重复记录的列表,但是我无法获得唯一标识符以便删除它。
以下是我用来识别重复记录的方法。
SELECT
p.accountid, p.subject, p.description, count(*) AS total
FROM
activities AS p
WHERE
(p.StateCode = 1) AND p.createdon >= getdate()-6
GROUP BY
p.accountid, p.subject, p.description
HAVING
count(*) > 1
ORDER BY
p.accountid
有一列 record_id
保存每条记录的唯一标识符。但是,如果我在选择语句中添加了 record_id
,那么我将得不到任何结果,因为不可能有重复的唯一标识符。
如何在 SQL Server 中获取 record_id
?
注意:record_id 不是整数,而是类似于“D32B275B-0B2F-4FF6-8089-00000FDA9E8E”这样的字符串。
谢谢
MIN(cast(record_id as varchar(255))) over . . .
。MIN()
将返回一个任意值以保留。这是个问题吗?如果是,您会如何选择要保留的记录ID之一? - Gordon Linoff