我得到了错误:
错误ORA-00933: SQL命令未正确结束
当我运行以下ORACLE查询时:
Select "col1", "col2"
from SCHEMANAME.TABLENAME
OFFSET 100 ROWS FETCH NEXT 100 ROWS ONLY有什么解决办法吗?
发布于 2020-11-07 14:15:19
我的猜测是,您正在运行Oracle < 12.2,其中fetch子句不可用。
典型的解决方法使用窗口函数:
select col1, col2
from (
select t.*, row_number() over(order by id) rn
from schemaname.tablename t
) t
where rn between 101 and 200;请注意,对于原始查询和此查询,要生成稳定的结果,需要一个列,该列确定地定义行的顺序。我以为是id。
如果您确实想要不稳定的排序(我不建议这样做),那么在order by null的over()子句中使用row_number()。
https://stackoverflow.com/questions/64728539
复制相似问题