データのテーブルがあり、最後から2番目のレコードを取得したいと思います。
これはどのように行われますか?
TABLE: results
-------
30
31
35
31を取得する必要があります。
私はrownumを試してきましたが、うまくいかないようです。
2番目に大きい数が必要で、同点がないと仮定します
SELECT results
FROM (SELECT results,
rank() over (order by results desc) rnk
FROM your_table_name)
WHERE rnk = 2
rank
同点の処理方法に応じて、、、、dense_rank
またはrow_number
分析関数のいずれかが必要になる場合があります。たとえば、35が2つある場合、35を返しますか?または31?31が2つある場合、1つの行を返しますか?または、両方の31を返却しますか。