如果我有这样的数据:
MyDate LEVEL
01JAN2016 5.1
02JAN2016 6.2
03JAN2016 8.0
04JAN2016 5.8
如何使用窗口函数返回最高级别的日期? 我在想:
SELECT max(MyDate)over(ORDER BY LEVEL)FROM x
......但它似乎无法奏效。我尝试使用PARTITION BY但仍然没有运气。我真的想要最大(LEVEL)。
答案 0 :(得分:1)
select mydate, level
from (select mydate, level, row_number() over (order by level desc) rn from x)
where rn = 1
答案 1 :(得分:1)
如果你真的想使用花哨的功能。 。
select max(date) keep (dense_rank first order by level desc)
from x;
然而,很多人会写:
select x.*
from (select x.*
from x
order by level desc
) x
where rownum = 1;