我需要找到重複的記錄(與主記錄ID,並重復記錄ID):如何選擇row_number和統計分區?
select ciid, name from (
select ciid, name, row_number() over (
partition by related_id, name order by updatedate desc) rn
) where rn = 1;
這使我的主記錄ID,但它也包括記錄沒有重複。
如果我使用
這讓我所有的重複記錄,但不是主記錄。
我希望如果我做這樣的事情:
select ciid, name from (
select ciid, name, row_number() over (
partition by related_id, name order by updatedate desc
) rn, count(*) over (
partition by related_id, name order by updatedate desc
) cnt
) where rn = 1 and cnt > 1;
但我擔心的表現,甚至是它實際上做我想要什麼。
如何獲取只有重複記錄的主記錄?請注意,name
不是唯一的列。只有ciid
是唯一的。
它不會返回任何內容......'distinct rn'工作嗎?似乎rn對於分區中的每一行都是不同的。 – texasbruce
按CIID分組將不會成功... CIID是唯一的... – texasbruce
編輯的部分不起作用嗎?只是爲了找到重複? –