2011-02-08 37 views
4

我是oracle11g。 假设以下查询返回n行。选择查询的n-1行

SELECT t.id,t.from_date,t.price FROM prices t order by id, date 

而我只想从查询开始的第n-1行。 我怎么可能做到这一点,而不使用内部查询?

+0

为什么你不想使用内部查询?和“第一n-1”行排序由什么? – 2011-02-08 16:23:04

回答

5

编辑:根据添加到问题中的附加信息修改。

select p.id, p.from_date, p.price 
    from (select id, from_date, price, row_number() over (order by id desc) as r from prices) p 
    where p.r <> 1 
    order by p.id, p.from_date