这给了我一行(第一行):
SELECT BLA
FROM BLA
WHERE BLA
AND ROWNUM < 2
但是,我想要最近的日期;我可以这样制作第一行:
SELECT BLA
FROM BLA
WHERE BLA
ORDER BY FINALDATE DESC
但是,当我尝试混合这两个部分胜利时,它不起作用 - 显然“仅选择第一行”逻辑在 order by 之前触发,然后 order by 随后被忽略。
这给了我一行(第一行):
SELECT BLA
FROM BLA
WHERE BLA
AND ROWNUM < 2
但是,我想要最近的日期;我可以这样制作第一行:
SELECT BLA
FROM BLA
WHERE BLA
ORDER BY FINALDATE DESC
但是,当我尝试混合这两个部分胜利时,它不起作用 - 显然“仅选择第一行”逻辑在 order by 之前触发,然后 order by 随后被忽略。
在 12c 中,这是新的方式:
select bla
from bla
where bla
order by finaldate desc
fetch first 1 rows only;
这多好啊!
这个问题类似于如何限制 Oracle 查询在排序后返回的行数?.
它讨论了如何在 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