数据库中的分区ID

时间:2019-05-10 10:56:15

标签: sql

我需要将SQL表记录划分为100个相等的部分,并按ID获取其范围。 ID正在增加,但缺少一些。所以每个部分应该有100条记录。

0 part :from 5 to 120
1 part :from 121 280
...

是否可以在纯SQL中实现?对我来说看起来很复杂!

1 个答案:

答案 0 :(得分:0)

使用row_number()

select t.*,
       floor( (seqnum - 1) / 100) as part_num
from (select t.*, 
             row_number() over (order by id) as seqnum
      from t
     ) t;