我有一个表结构,
fphm,kshm
2014,00000001
2014,00000002
2014,00000003
2014,00000004
2014,00000005
2014,00000007
2014,00000008
2014,00000009
2013,00000120
2013,00000121
2013,00000122
2013,00000124
2013,00000125

(第二个字段内可能是连续的数据,可能存在断点。)

怎样能查询出来这样的结果,查询出连续的记录来。
就像下面的这样?
2014,00000001,00000005
2014,00000009,00000007
2013,00000120,00000122
2013,00000124,00000125

方法一: 引用自hmxxyy.

SQL> select * from gap;

ID SEQ---------- ----------1 11 41 51 82 12 22 9

select res1.id, res2.seq str, res1.seq endfrom (  select rownum rn, c.* from (        select *      from gap a        where not exists (            select null from gap b where b.id = a.id and a.seq = b.seq - 1      )     order by id, seq  ) c) res1, (    select rownum rn, d.* from (        select *      from gap a        where not exists (            select null from gap b where b.id = a.id and a.seq = b.seq + 1     )     order by id, seq  ) d) res2where res1.id = res2.idand res1.rn = res2.rn/

ID STR END--------- ---------- ----------1 1 11 4 51 8 82 1 22 9 9

方法二: 使用lag/lead分析函数进行处理.. 楼上的方法确实挺好用就是觉得表扫描/表连接比较多, 可能数据量大了. 速度会比较慢, 当然我的这种方法由于使用分析函数使用的比较频繁.所以排序量可能比上一种要多..

SQL> select fphm,lpad(kshm,8,'0') kshm  2  from t  3  /

      FPHM KSHM                                                                 ---------- ----------------                                                           2014 00000001                                                                   2014 00000002                                                                   2014 00000003                                                                   2014 00000004                                                                   2014 00000005                                                                   2014 00000007                                                                   2014 00000008                                                                   2014 00000009                                                                   2013 00000120                                                                   2013 00000121                                                                   2013 00000122                                                             

      FPHM KSHM                                                                 ---------- ----------------                                                           2013 00000124                                                                   2013 00000125                                                             

13 rows selected.

SQL> set echo onSQL> @bbb.sqlSQL> select fphm,lpad(kshm,8,'0') start_kshm,lpad(prev_prev_kshm,8,'0') end_kshm  2  from (  3    select fphm,kshm,next_kshm,prev_kshm,  4      lag(kshm,1,null) over (partition by fphm order by kshm )next_next_kshm,  5    lead(kshm,1,null) over (partition by fphm order by kshm ) prev_prev_kshm  6    from (  7    select *  8       from (  9       select fphm,kshm, 10        lead(kshm,1,null) over (partition by fphm order by kshm) next_kshm, 11        lag(kshm,1,null) over (partition by fphm order by kshm) prev_kshm 12        from t 13       ) 14      where ( next_kshm - kshm <> 1 or kshm - prev_kshm <> 1 ) 15       or ( next_kshm is null or prev_kshm is null ) 16    ) 17  ) 18  where next_kshm - kshm = 1 19  /

      FPHM START_KSHM       END_KSHM                                            ---------- ---------------- ----------------                                          2013 00000120         00000122                                                  2013 00000124         00000125                                                  2014 00000001         00000005                                                  2014 00000007         00000009                                            

SQL> spool off

方法三: 今天早上wildflower给了我这个答案, 顿时觉得耳目一新啊..就贴出来与大家一起共享了^_^.

SQL> spool aaa.log
SQL> set echo on
SQL> select * from t;no rows selectedSQL> select * from t;FPHM       KSHM
---------- ----------2014          12014          22014          32014          42014          52014          72014          82014          92013        1202013        1212013        122FPHM       KSHM
---------- ----------2013        1242013        12513 rows selected.SQL> @bbb.sql
SQL> select b.fphm,min(b.kshm),max(b.kshm)2  from (3          select a.*,to_number(a.kshm-rownum) cc4          from (5                  select * from t order by fphm,kshm6          ) a7  )  b8  group by b.fphm,b.cc9  /FPHM MIN(B.KSHM) MAX(B.KSHM)
---------- ----------- -----------2013         120         1222013         124         1252014           1           52014           7           9

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/219982/viewspace-503620/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/219982/viewspace-503620/

在别人的空间里看到的收藏在这里相关推荐

  1. 计算机视觉领域如何从别人的论文里获取自己的idea?

    点击上方"视学算法",选择"星标"公众号 重磅干货,第一时间送达 来源:知乎  整理:Amusi  https://www.zhihu.com/question ...

  2. 不要活在别人的生活里(摘自开复网)

    << 如何与室友融洽相处陈海泓:听力完全攻略 >> 不要活在别人的生活里 提交者: kfwebadmin 日期: 2007/06/06 阅读: 5860 评分: 8.40/36 ...

  3. iphone储存空间系统怎么清理_iPhone储存空间里其他占了几十GB,怎样彻底删除它?...

    在iPhone的储存空间里有"其他"一项,动辄占据几个G甚至几十个G的空间,很多网友却不知道如何清理它. 比如,ID为ailuoliai的网友发帖称,他的iPhone 11是128 ...

  4. iphone储存空间系统怎么清理_iPhone 储存空间里的“系统”项占用过多怎么办?...

    从 iOS 11 开始,"iPhone 储存空间"里就多了一个"系统"项,随着手机的使用,这个选项占用的内存会越来越多而且无法直接删除.那它到底是什么意思,又该 ...

  5. 在别人的句子里出现曙光

    别人的生活,别人的工作,别人的小孩,总是格外吸引人,因为距离产生美.等<在别人的句子>推送到我的书架,还是止不住探究别人的心思,划过了前言部分的零散段落,就再也停不下来,用书里的话说:阅读 ...

  6. 帝国网站模板怎么上传到服务器,有一个网站模板,怎么上传到空间里?

    有一个网站模板,怎么上传到空间里? (2017-03-22 22:52:06) 标签: 杂谈 <帝国网站管理系统>英文译为"Empire CMS",简称"Ec ...

  7. HTML怎么引用QQ相册的照片,qq空间照片打不开 为什么QQ空间里的相册打不开?

    QQ空间能进去了,相册却打不开 QQ空间相册里的照片打不开怎么回事? QQ空间的相册有密码进去了也打不开怎么回事 为什么通过QQ影像打不开QQ空间某相册的照片? 你的网速过慢,网页代码没有完全下载就运 ...

  8. photoshop文字教程实战案例:空间里的诗情画意

    本实例的photoshop教程将使用文字的创建.编辑等功能来制作空间里充满诗情画意的文字,如下图所示为本实例的最终效果图. (1)打开素材并输入文字.执行"文件"|"打开 ...

  9. 储存空间已满显示服务器连接失败,验证失败连接Apple ID服务器时出错及iPhone手机储存空间里的其它如何删除...

    使用iPhone手机登录Apple ID账号的过程中,iPhone出现"连接 Apple ID 服务器时出错",怎么办?反复重试都无法连接. 连接Apple ID服务器时出错可根据 ...

  10. [转] 那个叫鲁迅的人终于从教科书里滚蛋了 收藏

    [转] 那个叫鲁迅的人终于从教科书里滚蛋了 收藏 转载,有删改.原作者及原文地址不详,盼告知. 这些年来,由于人民教育出版社在新版语文教材中逐步剔除鲁迅的文章,引来持续争议,赞者有之,阻者有之.而笔者 ...

最新文章

  1. ac自动机模板(hdu2222)
  2. 使用Jodd简化邮件服务的开发
  3. asp.net core mvc 异步表单(Ajax.BeginForm)
  4. NPAPI开发详解,Windows版
  5. jvisualvm安装Visual GC插件
  6. T-SQL里数据库工程师都不知道的秘密之SQL Server自定义函数UDF
  7. Gensee移动SDK之(一)结构组成
  8. 桌面时钟代码_被遗忘的手机桌面小部件
  9. Android基础控件EditText
  10. 【知识图谱系列】六篇2020年知识图谱预训练论文综述 | 30页汇报ppt免费获取 | GCC,GraphCL,DGI,InfoGraph等模型
  11. open 读Txt文件
  12. 淘宝获得淘宝商品类目 API
  13. 单片机通过改变占空比改变电机转速c语言,直流电动机的调速 用单片机产生PWM控制...
  14. usaco Raucous Rockers
  15. C++ 模板的显示具体化
  16. 【边学边记_12】——VGA原理与FPGA实现
  17. 苹果手机功能大全介绍_抖音手机软件剪辑推荐及功能介绍
  18. ICCV2019——SCRDet Towards More Robust Detection for Small, Cluttered and Rotated Objects
  19. KeyError: 'data'
  20. bilibili缓存文件在哪里_用这3招,彻底清除Windows10更新缓存,电脑高手必会

热门文章

  1. python爬取b站弹幕分析_B站直播弹幕获取 - 用python写一个B站弹幕姬吧
  2. Python学习笔记-基础篇
  3. 【数据分析方法论】关于思维、营销、咨询、绩效管理的一些经典分析框架
  4. 柳絮飘,往事忆:家(二)
  5. android 音乐扬声器,android安插耳机状态使用扬声器外放音乐
  6. 如何调整c盘分区大小,怎样把c盘空间调整小些
  7. 手机邮箱如何申请注册?163邮箱申请哪个好?
  8. Java过滤微信昵称特殊字符
  9. Android Studio安装(本人也是站在巨人肩膀上学习~)
  10. python拟合直线的斜率_Python:直线,斜率k是已知的,一点P1是已知的,长度P1P2是已知的,如何得到P2?...