我需要编写一个查询来识别 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
谢谢
我需要编写一个查询来识别 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
谢谢
好吧,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