小编典典

选择前150行,然后选择下150行,依此类推?

sql

如何在oracle sql中的表中选择前x行,然后选择下x行,依此类推?我知道我可以使用TOP / LIMIT,然后得到第一个x

select a from b limit 150 =>获得前150行。

编辑:为什么?我想将前150个输出复制到文件中,然后将后150个复制到另一个文件中,依此类推…


阅读 246

收藏
2021-03-23

共1个答案

小编典典

在Oracle中,您有一个不错的选择rownum:它是一个伪列。它对结果集中的记录编号。给出了一条符合select语句中where条件的第一个记录rownum=1,并且随后每个满足相同条件的记录都会增加rownum

SELECT 
    a, b
FROM
    (SELECT rownum rn, a, b from table WHERE c=some_value ORDER BY some_column)
WHERE 
    rn BETWEEN 150 AND 300;

(感谢@Mark Ba​​nnister)

如果将ORDER BY子句嵌入子查询中,并将ROWNUM条件放置在顶级查询中,则可以强制ROWNUM条件在行排序之后应用。

2021-03-23