我有一张桌子。 15万行,我必须使用Java Quartz Scheduler一次获取1000行。要求是一次限制1000行,然后再限制1000行,等等(与MySQL限制查询相同)。

我正在使用以下查询:

select * from ( select a.*, rownum rnum from (SELECT a.product_id as productId,
p.project_id as projectId from <TABLE-1> a INNER JOIN <TABLE-2> p
ON p.product_id = a.product_id ORDER BY a.product_id )
a where rownum <= 1000) where rnum >= 1;


问题是上面的查询返回的是我在结果集中不需要的额外列rownum,因为返回的数据被传递到MapListHandler(),后者将结果转换为JSON,而我将此JSON传递给了不是期望额外的rownum列。\

数据库Oracle 11g企业版11.2.0.3.0版

最佳答案

不要在选择子句中使用*。它应该工作。

关于java - Oracle SQL一次从十万行中选择1000行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29247497/

10-13 23:29