Oracle sql rownum之间如何缩小查询

问题描述 投票:0回答:2

我希望获得25到50条记录。我编写这段代码,但是,使用double select子句看起来很糟糕。

Select * From (
    Select eto.*, rownum rn from employee_trip_orders eto
) where rn between 25 and 50 ;

我如何缩小它以使用这样的一个选择?

 Select eto.*, eto.rownum rn from employee_trip_orders eto
 where rn between 25 and 50 ;

我不需要第二个。谢谢。我有旧的11c Oracle版本,offset关键字不适合我]

sql oracle between rownum
2个回答
0
投票

我如何缩小它以使用这样的一个选择?

因为您使用的是Oracle 11g,所以不能。您必须使用内联子查询来实现所需的输出。

从employee_trip_orders eto中选择eto。*,eto.rownum rnrn在25到50之间;

该查询将永远不会返回任何行。 ROWNUM值仅在分配后递增。请参阅https://stackoverflow.com/a/30321788/3989608


0
投票

我如何缩小它以使用这样的一个选择?

由于您使用的是11g,所以您不能。您必须使用内联子查询来实现所需的输出。

从employee_trip_orders eto中选择eto。*,eto.rownum rnrn在25到50之间;

该查询将永远不会返回任何行。 ROWNUM值仅在分配后递增。请参阅https://stackoverflow.com/a/30321788/3989608

© www.soinside.com 2019 - 2024. All rights reserved.