如何排序分组


统计每种类型的连续序号的开始、结束序号,及连续个数,断开的分开记


image.png


结果是将他分成三组

image.png

展示成

image.png

a-pity 发布于 2019-9-29 16:27 (编辑于 2019-9-29 16:43)
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共6回答
最佳回答
0
873282620Lv3初级互助
发布于2019-9-29 16:32(编辑于 2019-9-29 16:34)

意思是 需要呈现2 、 3  、 2 的展示方式一直展示下去吗?


  • 873282620 873282620 回复 a-pity(提问者) 哇~~真是这样啊~~哪个产品提的,这么恶心
    2019-09-29 16:59 
  • 沈阳易泰电子 沈阳易泰电子 回复 873282620 恐怕不是产品提的,是FCRP考试题
    2019-09-30 14:20 
  • 冥王星 冥王星 回复 沈阳易泰电子 考题的角度,为什么出得这么刁钻,让人泪奔。
    2019-10-07 11:38 
  • 沈阳易泰电子 沈阳易泰电子 回复 冥王星 记得某一期的第二题就是这样的
    2019-10-08 13:21 
最佳回答
0
豆豆小可爱Lv5中级互助
发布于2019-9-29 16:37

要显示成啥样子呢

最佳回答
0
孤陌Lv6资深互助
发布于2019-9-29 16:46
最佳回答
0
axingLv6专家互助
发布于2019-9-29 19:29
最佳回答
0
shirokoLv6资深互助
发布于2019-9-30 10:06

连号分组.cpt

image.pngsql好麻烦不会弄,用模板处理的(模板也不简单。。)

最佳回答
0
HHHHH123Lv7中级互助
发布于2019-9-30 13:32

一步一步来呗:

WITH A AS(

SELECT 23 AS ID,'1A' AS TYPE FROM DUAL

UNION ALL

SELECT 24 AS ID,'1A' AS TYPE FROM DUAL

UNION ALL

SELECT 26 AS ID,'2A' AS TYPE FROM DUAL

UNION ALL

SELECT 27 AS ID,'2A' AS TYPE FROM DUAL

UNION ALL

SELECT 28 AS ID,'2A' AS TYPE FROM DUAL

UNION ALL

SELECT 31 AS ID,'2A' AS TYPE FROM DUAL

UNION ALL

SELECT 32 AS ID,'2A' AS TYPE FROM DUAL

),


B AS (

select id,type,dense_rank() OVER(ORDER BY ID-ROWNUM) DD from A 

),

C AS(

select type,dd,min(id) xx,max(id) mm

from b

group by type,dd)


SELECT type as "类型",xx as "开始序号",mm as "结束序号",(mm-xx+1) as "连续次数"

FROM  C

ORDER BY type


  • 9关注人数
  • 776浏览人数
  • 最后回答于:2019-9-30 13:32
    请选择关闭问题的原因
    确定 取消
    返回顶部