我有下表:
ID_CLT STEPS INNER RANK
61081 ROUND_SIG_1 1
61081 AR_OK 2
61081 ABS_FT 3
61081 ROUND_SIG_2 1
61081 TECH_DISPATCH 2
61081 AR_OK 3
61081 RET_FT 4
61081 RET 5
61081 CLOSED 1
我想将这些步骤连接在一起,直到INNER RANK重置为1,换句话说,我想要以下输出:
ID_CLT STEPS INNER RANK
61081 ROUND_SIG_1 AR_OK ABS_FT 1
61081 ROUND_SIG_2 TECH_DISPATCH AR_OK REFT_FT RET 1
61081 CLOSED 1
关于输入表,我使用的查询的简化版本是:
SELECT alpha.ID_CLT ,
alpha.STEPS,
rank() over (partition by alpha.ID_CLT
order by alpha.RNK
RESET WHEN (alpha.STEPS LIKE 'ROUND%' OR alpha.STEPS LIKE 'CLOSED')) as SEQQ FROM ( SELECT ID_CLT, STEPS, RNK) alpha
RNK列为给定的ID_CLT命令不同的时间步骤
有什么想法我可以继续获得这个结果吗?我尝试过使用rank(),row_number()和RESET WITH语法的许多技巧,但它没有工作......
提前谢谢你。
问候。