在oracle数据库写分页查询,使用 rownum时候出错,
代码:
SELECT *
FROM (
SELECT *, ROWNUM AS rnum
FROM test t
)
WHERE rnum BETWEEN 1 AND 5;
报错:
[42000][923] ORA-00923: 未找到要求的 FROM 关键字 Position: 31
问题原因:
在子查询中的 * 没有指明他所属的表名,要改为 t.*
修改后的代码
SELECT *
FROM (
SELECT *, ROWNUM AS rnum
FROM test t
)
WHERE rnum BETWEEN 1 AND 5;
执行成功: