如何在ORACLE中按顺序选择具有最高值的行

时间:2014-05-06 21:06:35

标签: sql oracle

假设我有一张包含以下数据的表:

id  |  Value
_ _ _ _ _ _ _
1      0
2      1
3      2
4      0
5      1
6      0 
7      1
8      2
9      3
10     4

我想只选择那些达到最大值的行,按id排序。 结果行将是:

3     2
5     1
10    4

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

听起来你想做像

这样的事情
SELECT id, 
       value
  FROM (SELECT id,
               value,
               lead(value) over (order by id) next_value
          FROM your_table)
 WHERE next_value < value
    OR next_value IS NULL

答案 1 :(得分:0)

select id, value 
from (
  select id, value, lead(value, 1, 0)over(order by id) as next from table
) 
where next = 0 
order by id