首页 > 解决方案 > DB2:将数据结果拆分为 5000 条记录

问题描述

我有一个返回 600k 记录的查询,我想将结果拆分为 5000 条记录。

[在此处输入图片描述][1]

![1]:https ://i.stack.imgur.com/Ebl8Q.png

标签: pythonpysparkdb2

解决方案


你可以使用row_number()and mod()

select
    t.*
    1 + mod(row_number() over(order by line_nu) - 1, 5000) batch
from mytable t

或者,如果您想按 5000 个块获取记录,您可以使用 row-limiting 子句。这将为您提供前 5000 条记录:

select t.*
from mytable t
order by line_nu
fetch first 5000 rows only

然后你可以得到接下来的 5000 行,如下所示:

select t.*
from mytable t
order by line_nu
offset 5000 rows
fetch next 5000 rows only

推荐阅读