SQL查询连续号码段实现实例

下文将教您在数据库中如何使用SQL查询连续号码段的方法,供您参考,如果您对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

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

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  查询结果:

2014,00000001,00000005
2014,00000009,00000007
2013,00000120,00000122
2013,00000124,00000125

时间: 2024-11-05 12:17:44

SQL查询连续号码段实现实例的相关文章

SQL查询连续号码段的巧妙解法_数据库其它

昨天在itpub看到这个帖子, 问题觉得有意思,, 就仔细想了想. 也给出了一种解决办法..:-) 问题求助,请高手指点.. 我有一个表结构,fphm,kshm2014,000000012014,000000022014,000000032014,000000042014,000000052014,000000072014,000000082014,000000092013,000001202013,000001212013,000001222013,000001242013,00000125

SQL查询连续号码段的巧妙解法_MsSql

在ITPUB上有一则非常巧妙的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  (第二个

SQL查询连续号码段的巧妙解法

在ITPUB上有一则非常巧妙的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  (第二个

学习t-SQL查询连续号码段的巧妙解法

在ITPUB上有一则非常巧妙的SQL技巧,学习一下,记录在这里. 最初的问题是这样的: 我有一个表结构, fphm,kshm2014,000000012014,000000022014,000000032014,000000042014,000000052014,000000072014,000000082014,000000092013,000001202013,000001212013,000001222013,000001242013,00000125 (第二个字段内可能是连续的数据,可能

SQL查询语句行转列横向显示实例解析_MsSql

本文分享了两个有关SQL查询语句行转列横向显示的示例,供大家参考,具体内容如下 示例1: 在SQL查询语句行转列横向显示中access中没有CASE,要用IIF代替 select  iif(sex= '1 ', '男 ', '女 ')  from  tablename select country, sum(case when type='A' then money end) as A, sum(case when type='B' then money end) as B, sum(case

sql 查询指定日期时间记录sql语句与查询实例

sql 查询指定日期时间记录sql语句与查询实例  首先创建一个表abc结构如下    CREATE TABLE `cc`.`loup` (  `id` INT( 4 ) NOT NULL AUTO_INCREMENT ,  `datetimes` INT( 4 ) NULL ,  `ipaddress` VARCHAR( 20 ) NULL ,  PRIMARY KEY ( `id` )  ) ENGINE = MYISAM    再批量插入数据    INSERT INTO `loup` (

PHP中SQL查询语句的id=%d解释(推荐)_php实例

在SQL语句中有一些写的是这样的: 'SELECT id FROM dbname WHERE xx_id = %d;', $bl['student_id'] 其中的"xx_id = %d",这里的%d指的是要取一个十进制的数(d的意思就是decimal十进制的意思),十进制数的内容就是后面的$bl['student_id']这个. 以上所述是小编给大家介绍的PHP中SQL查询语句的id=%d解释,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的! 以上是小编为您

SQL2005 高效分页sql查询语句经典实例

方法一 SQL2005 高效分页sql查询语句经典实例 代码如下: select top 10 * from ( select top (@Page * 10) ROW_NUMBER() OVER (order by id) as RowNum, id, username from Guest where username = 'user' ) as T where RowNum > ((@Page - 1) * 10) 2 select * from ( select ROW_NUMBER()

SQL查询排名函数实例

在实际开发中经常会遇到计算某个字段的排名的情况 如下表:totak_sales 现在又如此要求:按sales的逆序排序,要求添加一个sales_rank字段,显示排名顺序 方法: 复制代码 代码如下:SELECT a1.Name, a1.Sales, COUNT(a2.sales) Sales_Rank FROM Total_Sales a1, Total_Sales a2 WHERE a1.Sales <= a2.Sales or (a1.Sales=a2.Sales and a1.Name