TSQL:判定一段数组连续的数字段有多少的方案

给定了一列数字,需要判定该列中连续的数据字有多少条记录:

field1,field2
123,1   123-1
124,2   124-2
125,3   125-3
127,4
128,5
create table tbl(
field1 int,
field2 int
)
insert into tbl(field1,field2) values(123,1);
insert into tbl(field1,field2) values(124,2);
insert into tbl(field1,field2) values(125,3);
insert into tbl(field1,field2) values(127,4);
insert into tbl(field1,field2) values(128,5);
insert into tbl(field1,field2) values(159,6);
insert into tbl(field1,field2) values(160,7);
insert into tbl(field1,field2) values(167,8);
select * from tbl

select t10.field1,t10.field2,t11.delta,t11.cou
from (select field1,field2,field1-field2 as delta from tbl) t10
inner join(
select delta,count(0) as cou from (select field1,field2,field1-field2 as delta from tbl) tbl_t group by delta
) t11 on t10.delta=t11.delta

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值