【发布时间】:2020-01-21 16:33:21
【问题描述】:
我有下表
表 A:
row_number id start_dt end_dt cust_dt cust_id
1 101 4/8/19 4/20/19 4/10/19 725
2 101 4/21/19 5/20/19 4/10/19 456
3 101 5/1/19 6/30/19 4/10/19 725
4 101 7/1/19 8/20/19 4/10/19 725
出于测试目的,我需要计算表格中的“重复项”。
标准:
需要从我的计算中排除 start_dt 和 end_dt。
如果 lead 行重复,则它只是重复。因此,例如第 1 行、第 3 行或第 4 行是相同的,但在此示例中只有第 3 行和第 4 行将被视为重复项。
我尝试过的:
rank 和 lead 和自我加入,但这似乎对我不起作用。
如何计算 id 以确定是否有重复项?
输出:(如下所示)
count id
2 101
对我来说,最终结果是表格的计数为 1
count id
1 101
【问题讨论】:
-
为什么有两列叫
id? -
@GMB 将最后一个 id 更新为 cust_id
-
您可以使用 ROW_NUMBER() OVER (PARTITION BY id,start_dt,end_d,cust_dt, cut_id ORDER BY id,start_dt,end_d,cust_dt, cut_id) 作为 RN,然后所有 RN > 1 的都是已经存在,因此您可以轻松地数数。