sql问题

需求:求连续还款次数,字段有ID,当前还款期次 qc, 数据库orcal 

同一个借据号最大连续还款的次数

这个sql要如何写 

image.png

比方像这种中间断了就不能算连续还款

蘑菇阿月 发布于 2021-6-25 10:21 (编辑于 2021-6-25 15:26)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
杨朝健Lv5中级互助
发布于2021-6-25 12:13(编辑于 2021-6-25 12:35)

select id,max(lxcs) as zdlxcs -- 最大连续次数

from (

select id,fenzu,count(1) as lxcs --连续次数

from (

select *

,qc-rownum as fenzu -- 分组

 from (

select id,qc

,row_number() over(partition by id order by id,qc) as rownum

from ( -- 表

select 1 as id,1 as qc union all

select 1 as id,6 as qc union all

select 1 as id,7 as qc union all

select 1 as id,8 as qc union all

select 1 as id,9 as qc union all

select 1 as id,10 as qc union all

select 1 as id,11 as qc union all

select 1 as id,12 as qc union all

select 2 as id,1 as qc union all

select 2 as id,2 as qc union all

select 2 as id,3 as qc union all

select 2 as id,4 as qc union all

select 2 as id,9 as qc union all

select 2 as id,10 as qc union all

select 2 as id,11 as qc union all

select 2 as id,12 as qc --union all

) a

) b

) c

group by id,fenzu

) d

group by id

image.png

最佳回答
0
Z4u3z1Lv6专家互助
发布于2021-6-25 10:26

你这个连续怎么定义?每天?每周?每月?

  • 蘑菇阿月 蘑菇阿月(提问者) 每月
    2021-06-25 10:29 
  • Z4u3z1 Z4u3z1 回复 蘑菇阿月(提问者) 其实ORACLE我也不熟悉,反问你只是为其他人尽快了解需求才问的 https://www.iteye.com/blog/fanshuyao-2341163 希望这个对你有用
    2021-06-25 11:07 
最佳回答
0
natrueLv2见习互助
发布于2021-6-25 12:35

问题不够清晰,qc字段 6,7 | 7,8|8,9|9,10|……各算一次,还是6-12只算一次。。是否你截图中只有一次连续还款?

最佳回答
0
Qian同学Lv6初级互助
发布于2021-6-25 16:50

select tt.id,max(tt.flg) from (

select t.id,count(t.flag) flg from (

select id,qc,to_number(qc) -lag(to_number(qc),1,to_number(qc)-1) over (partition by id order by  to_number(qc)) flag

from testab ) t GROUP BY t.id 

)  tt

GROUP BY tt.id

因为我创建qc字段用了文本,但是不能计算 所以这里转换了下 

  • 4关注人数
  • 571浏览人数
  • 最后回答于:2021-6-25 16:50
    请选择关闭问题的原因
    确定 取消
    返回顶部