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

龙龙包包店

龙龙包包店

2016-02-19 11:48

下面,图老师小编带您去了解一下SQL查询连续号码段的巧妙解法,生活就是不断的发现新事物,get新技能~
在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 
(第二个字段内可能是连续的数据,可能存在断点。)
怎样能查询出来这样的结果,查询出连续的记录来。
就像下面的这样?
2014,00000001,00000005
2014,00000009,00000007
2013,00000120,00000122
2013,00000124,00000125
ITPUB上的朋友给出了一个非常巧妙的答案:
SELECT b.fphm, MIN (b.kshm) Start_HM, MAX (b.kshm) End_HM
FROM (SELECT a.*, TO_NUMBER (a.kshm - ROWNUM) cc
      FROM (SELECT *
            FROM t
            ORDER BY fphm, kshm) a
    ) b
GROUP BY b.fphm, b.cc
展开更多 50%)
分享

猜你喜欢

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

编程语言 网络编程
SQL查询连续号码段的巧妙解法

数据库中如何使用SQL查询连续号码段

电脑网络
数据库中如何使用SQL查询连续号码段

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

怎么样写一段高效 安全的sql查询代码

ASP
怎么样写一段高效 安全的sql查询代码

Sql联合查询

SQLServer
Sql联合查询

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Sql连接查询

SQLServer
Sql连接查询

谈谈sql查询的between

SQLServer
谈谈sql查询的between

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

SQL语句去掉重复记录获取重复记录

SQL语句去掉重复记录获取重复记录

很有趣的一段textarea

很有趣的一段textarea
下拉加载更多内容 ↓