0

我需要编写一个查询来识别 5 个不同大小的组。我知道我可以使用 NTILE 将我的设置分成大小相等的组,但我需要这样的东西

Total Records say 1,000,000

Group 1 100,000 Rows
Group 2 200,000 Rows
Group 3 300,000 Rows
Group 4 400,000 Rows

谢谢

4

1 回答 1

2

好吧,row_number()最重要的是使用和逻辑:

select (case when seqnum <= 100000 then 'Group1'
             when seqnum <= 100000 + 200000 then 'Group2'
             when seqnum <= 100000 + 200000 + 300000 then 'Group3'
             when seqnum <= 100000 + 200000  + 300000 + 400000 then 'Group4'
         end) as GroupName,
       t.*
from (select t.*,
             row_number() over (order by <your criteria>) as seqnum
      from t
     ) t
于 2013-05-02T19:24:33.020 回答