我有一个查询,我需要选择客户端的最新正确案例,但我也需要能够选择客户端的任何以前的案例。我有我的查询,但当我通过数据时,我注意到一个客户有3个案例:
CASE创建日期2021年1月11日 2020年1月29日
如果你只需要"当上述状态不是"激活"时;(阅读你的问题的一种方式,然后你可以使用lag()
和一些过滤逻辑:
select t.*
from (select t.*,
lag(case_status) over (partition by client_id order by created_date) as prev_case_status
from t
) t
where status <> 'open' or
(prev_status is null or prev_status <> 'active')