服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Mssql|Oracle|Redis|

服务器之家 - 数据库 - Mssql - SQL查询连续号码段的巧妙解法

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

2019-10-27 14:47mssql教程网 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 2

在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上的朋友给出了一个非常巧妙的答案:

SELECTb.fphm,MIN(b.kshm)Start_HM,MAX(b.kshm)End_HM

FROM(SELECTa.*,TO_NUMBER(a.kshm-ROWNUM)cc

FROM(SELECT*

FROMt

ORDERBYfphm,kshm)a

)b

GROUPBYb.fphm,b.cc

延伸 · 阅读

精彩推荐
北京塞车全天计划精准版 3d开奖试机号码 河内五分彩官方开奖号码 云南快乐十分钟开奖走势图 股票融资融券开户条件 急速赛车 排名靠前的股票配资平台 黑龙江p62开奖查询 欢乐彩app是真的吗 体彩云南十一选五走势图基本走势图 牛股今日推荐 双色球今天开奖结果 宁夏十一选五前三走势图 鼎配资 3d开奖结果今天试 股票涨跌幅计算 江苏快三江苏快三