解题:
select a.id, a.time, a.user_id, a.suc, null as res
from (select id, time, user_id, suc
from dataintel_tmp.qzd_1118) a
left join (select id, time, user_id, suc, res
from (select a.id, a.time, a.user_id, a.suc, b.id as res
, row_number() over (partition by a.user_id, a.time order by b.id desc) as rn
from dataintel_tmp.qzd_1118 a
left join (select id, user_id, time
from dataintel_tmp.qzd_1118 where suc = ‘1’) b on a.user_id = b.user_id where a.time > b.time
)where rn = 1
) b on a.id = b.id
where b.id is null
union all
select id, time, user_id, suc, res
from (select a.id, a.time, a.user_id, a.suc, b.id as res
, row_number() over (partition by a.user_id, a.time order by b.id desc) as rn
from dataintel_tmp.qzd_1118 a
left join (select id, user_id, time
from dataintel_tmp.qzd_1118 where suc = ‘1’) b on a.user_id = b.user_id
where a.time > b.time )
where rn = 1
sql 精选——
最新推荐文章于 2024-07-16 14:19:57 发布