我有一个包含6000条记录的表,第一个100条记录应该是batch-1,第二个100条记录应该是batch-2,依此类推。请帮助我解决以下问题的SQL查询。
下面是我想要的数据的示例
输入
data
1
2
3
4
5
6
7
8
9
10
11
12我希望输出为
data batch
1 Batch-1
2 Batch-1
3 Batch-1
4 Batch-1
5 Batch-2
6 Batch-2
7 Batch-2
8 Batch-2
9 Batch-3
10 Batch-3
11 Batch-3
12 Batch-3发布于 2018-06-04 18:35:14
您可以使用ROW_NUMBER分析函数来获取100个项目的批次:
SELECT t.*,
'Batch-' || CEIL( ROW_NUMBER() OVER ( ORDER BY data ) / 100 ) AS batch
FROM table_name t;或者,如果data是连续的,则:
SELECT t.*,
'Batch-' || CEIL( data / 100 ) AS batch
FROM table_name t;https://stackoverflow.com/questions/50678484
复制相似问题