タグ付けされた質問 「rownum」

4
Oracle ORDER BYおよびROWNUMを正しく使用する方法
ストアドプロシージャをSQL ServerからOracleに変換して、互換性のある製品にするのに苦労しています。 タイムスタンプに基づいて、いくつかのテーブルの最新のレコードを返すクエリがあります。 SQLサーバー: SELECT TOP 1 * FROM RACEWAY_INPUT_LABO ORDER BY t_stamp DESC =>最新のレコードが返されます しかしOracle: SELECT * FROM raceway_input_labo WHERE rownum <= 1 ORDER BY t_stamp DESC =>これにより、ORDER BYステートメントに関係なく、最も古いレコードが返されます(おそらくインデックスによって異なります)。 私の要件に一致させるために、この方法でOracleクエリをカプセル化しました。 SELECT * FROM (SELECT * FROM raceway_input_labo ORDER BY t_stamp DESC) WHERE rownum <= 1 そしてそれは動作します。しかし、関係するテーブルに多くのレコードがある場合は特に、私にとっては恐ろしいハックのように思えます。 これを達成するための最良の方法は何ですか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.