主キー(例:101)である値よりも大きい次の5つの最小アイテムを指定するクエリを作成しています。この場合、Idはchar(19)であり、Idはクラスター化されたインデックスです。
クエリでの私の試みは次のとおりです。
SELECT *
(SELECT *
(SELECT * FROM
PERSON
ORDER BY ID)
WHERE ID >= '101')
WHERE rownum <= 5
返される5つの結果が、最初に検出される5つの最大の結果ではなく、101より大きいテーブル内の5つの最大のIDであることを保証したいと思います。したがって、クエリにOrderbyを追加しました。rownumは、where句の後、orderbyが実行される前に割り当てられることを知っています。
私のクエリ/ロジックは正しいですか?order by句が存在する必要がありますか?