SQL - 如何在Oracle中不使用子查询的情况下选择具有最大值列的行

时间:2017-08-10 16:53:46

标签: sql oracle top-n

      date         value
    18/5/2010        40
    18/5/2010        20
    20/5/2010        60
    18/5/2010        30
    17/5/2010        10
    16/5/2010        40
    18/5/2010        60
    18/5/2010        25

输出

date           value
18/5/2010        60
20/5/2010        60

我需要查询具有max(值)的行(即60)。所以,这里我们得到两行 日期可以按任何顺序

Plz不使用SUBQUERY

我需要动态查询而不使用子查询

NESTED QUERY 会很好......

我尝试过使用rownum ...其中rownum< some_value ...但它不是动态的

1 个答案:

答案 0 :(得分:0)

在12c中,FETCH子句允许你这样做

select * from the_table
 order by value desc
 FETCH FIRST 1 ROWS WITH TIES;