实例讲解SQL查询连续号码段的巧妙解法
2009-05-12 20:37:36来源:未知 阅读 ()
本文介绍了一则非常巧妙的SQL技巧,具体内容请参考下文:
问题如下:
有一个表结构:
以下为引用的内容: 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 下面是一个很巧妙的解决方法: SQL> SELECT b.fphm, MIN (b.kshm) Start_HM, MAX (b.kshm) End_HM 2 FROM (SELECT a.*, TO_NUMBER (a.kshm - ROWNUM) cc 3 FROM (SELECT * 4 FROM t 5 ORDER BY fphm, kshm) a) b 6 GROUP BY b.fphm, b.cc 7 / FPHM START_HM END_HM ---------- -------- -------- 2013 00000120 00000122 2013 00000124 00000125 2014 00000001 00000005 2014 00000007 00000009 |
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 巧妙规划使用Oracle数据空间 2009-05-12
- 如何巧妙利用SQL Server的EXISTS结构 2009-05-12
- 50种方法巧妙优化SQL Server数据库 2009-05-12
- 50种方法巧妙优化您的SQL 2008-04-02
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash