如何从 Teradata sql 中的大型查询结果集中 select 一定数量的行

How to select certain number of rows from large query result set in Teradata sql

我是 Teradata 的新手 sql,我有一个 select 超过一百万行的查询。我想将 teradata sql 写入 select 前 500,000 行,然后是接下来的 500,000 行,然后是我数据集中的最后 100,000 + 行。对于第一组,我知道我可以使用 SELECT * FROM QRY1 ORDER BY 1 SAMPLE 500000,但是要 select 5000001 到 1000000,我该怎么做?
预先感谢您提供的任何帮助。

在 Teradata 中,您可以使用 rank()qualify:

select *
from qry1
qualify on rank() over(order by id) between 5000001 and 1000000
order by id

这假定列 id 可用于对记录进行排序。