SQL按顺序范围分组

时间:2018-11-27 15:24:52

标签: sql sql-server tsql

我需要一些SQL代码才能得到这样的结果(按顺序范围分组)。我使用SQL Server 2012

我的桌子:

013100      

013101

013102

013108

013203

013204

013242

013244

013243

所需结果:

013100           3

013108           1

013203           2

013242           3 

1 个答案:

答案 0 :(得分:1)

对于此版本的空白,您可以使用值和行号之间的差值:

select min(code), count(*)
from (select t.*,
             cast(code as int) as code_num,
             row_number() over (order by code) as seqnum
      from t
     ) t
group by (code_num - seqnum)
order by min(code);
相关问题