23

これにより、1行(最初の行)だけが得られます。

SELECT BLA
FROM BLA
WHERE BLA
AND ROWNUM < 2

ただし、最新の日付値が必要です。この方法で最初の行を作成できます。

SELECT BLA
FROM BLA
WHERE BLA
ORDER BY FINALDATE DESC

ただし、2つの部分的な勝利を混ぜ合わせようとすると、機能しません。明らかに、「最初の行のみを選択」ロジックが順序付けのに実行され、その後、順序付けは無視されます。

4

3 に答える 3

46

12cでは、次の新しい方法があります。

select bla
  from bla
 where bla
 order by finaldate desc
 fetch first 1 rows only; 

なんて素敵なことでしょう。

于 2016-03-03T14:02:39.623 に答える
26

この質問は、注文後にOracleクエリによって返される行数を制限するにはどうすればよいですか?に似ています。。

タグと投稿で判断して使用しているOracleデータベースにMySQL制限を実装する方法について説明します。

関連するセクションは次のとおりです。

select *
from  
  ( select * 
  from emp 
  order by sal desc ) 
  where ROWNUM <= 5;
于 2012-08-15T22:20:31.610 に答える
3

クエリをネストできます。

select * from (
    select bla
    from bla
    where bla
    order by finaldate desc
)
where rownum < 2
于 2012-08-15T22:21:51.970 に答える