加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

解决了使用 SQL 获取连续数字段的问题的巧方法

发布时间:2023-08-11 15:03:00 所属栏目:MsSql教程 来源:
导读:在ITPUB上有一则非常巧妙的sql技巧,学习一下,记录在这里。

最初的问题是这样的:

我有一个表结构,

fphm,kshm

2014,00000001

2014,00000002

2014,00000003

2014,00000004

2014,000
在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,00000009,00000007
 
2013,00000120,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
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章