2012-08-15 1 views
11

これは私だけの1行(最初の1)が得られる。しかし、私は最新の日付valをしたい注文後に結果セットの最初の行だけを取得するにはどうすればよいですか?

SELECT BLA 
FROM BLA 
WHERE BLA 
AND ROWNUM < 2 

を。の前に明らかに「最初の行を選択するだけで、」ロジック火災- 私は2つの部分の勝利、しかし、それは動作しませんをミックスしようとすると

SELECT BLA 
FROM BLA 
WHERE BLA 
ORDER BY FINALDATE DESC 

:私は、最初の行のはこの道を作ることができますorder by、次にorder byは無視されます。

+0

? – GRB73

答えて

1

ネストすることができますあなたのクエリ:12Cに

select * from (
    select bla 
    from bla 
    where bla 
    order by finaldate desc 
) 
where rownum < 2 
15

は、ここで新しい方法です:

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

はそれをどのようにいいです!

+4

私の作品は11g *私の泣き声を使用しています* WHYYYYYYY –

0

別の方法:あなたは、単に(あなたが最初の行を取得します)でグループを使用していないのはなぜ

SELECT ... 
FROM bla 
WHERE finalDate = (SELECT MAX(finalDate) FROM bla) AND 
     rownum = 1 
関連する問題