问题描述
研究重复数据删除用例并需要一些指导- 单个表具有客户记录及其状态-
用例-
- 如果对于一个客户,存在多个活动记录和非活动记录,我们只需要提取一个活动记录
- 如果对于一个客户存在多个活动记录,我们只需要提取一个活动记录
- 如果对于一个客户存在多个非活动记录,我们只需要提取一个非活动记录
我正在尝试使用分析功能,但到目前为止还没有运气。 有任何建议。
解决方法
使用row_number()分析函数:
select customer,status
from
(
select c.*,row_number() over(partition by customer order by status) rn
from customer_table c
)s
where rn=1;