这给了我一个行(第一个):如何在订购后获得结果集中的第一行?
SELECT BLA
FROM BLA
WHERE BLA
AND ROWNUM < 2
不过,我想最近的日期VAL;我可以做的是,第一行是这样的:
SELECT BLA
FROM BLA
WHERE BLA
ORDER BY FINALDATE DESC
当我尝试混合两个部分的胜利,不过,这是行不通的 - 显然之前的“只选择第一行”逻辑火灾按顺序排列,然后顺序依次被忽略。
这给了我一个行(第一个):如何在订购后获得结果集中的第一行?
SELECT BLA
FROM BLA
WHERE BLA
AND ROWNUM < 2
不过,我想最近的日期VAL;我可以做的是,第一行是这样的:
SELECT BLA
FROM BLA
WHERE BLA
ORDER BY FINALDATE DESC
当我尝试混合两个部分的胜利,不过,这是行不通的 - 显然之前的“只选择第一行”逻辑火灾按顺序排列,然后顺序依次被忽略。
此问题与How do I limit the number of rows returned by an Oracle query after ordering?类似。
它讨论如何实现一个Oracle数据库的MySQL限制,通过您的标签来判断和发布是您正在使用的。
相关的部分是:
select *
from
(select *
from emp
order by sal desc)
where ROWNUM <= 5;
可以嵌套您的疑问:
select * from (
select bla
from bla
where bla
order by finaldate desc
)
where rownum < 2
在12C,这里的新方法:
select bla
from bla
where bla
order by finaldate desc
fetch first 1 rows only;
多漂亮是!
我的作品使用11g *我哭泣* WHYYYYYYY – 2017-03-21 20:12:31
的另一种方法:
SELECT ...
FROM bla
WHERE finalDate = (SELECT MAX(finalDate) FROM bla) AND
rownum = 1
你为什么不干脆用(你会得到第一行)使用一组? – GRB73 2017-05-04 07:38:33