ID が 1 つの場合に次の行を取得するための解決策を見つけるのは簡単でした。
SELECT MIN(id) FROM foo WHERE id > ?
しかし、サブクエリの結果から次の ID (複数) を取得したい場合はどうすればよいでしょうか? 例えば:
SELECT id FROM foo WHERE property > 0
このクエリは、一定量の ID を返します (例: 1, 2, 4, 6
. id の行3
が既に削除されており、行のプロパティ5
が < 0 であるとします。
だから私が欲しいのは、次のような結果です: 2, 4, 5, 7
.
問題は、これら 2 つのクエリを組み合わせることができないことです。後者のクエリは明らかに複数の行を返すためです。
サブクエリからすべての次の ID を取得するにはどうすればよいですか? 単一のクエリで可能ですか、それとも手順を使用する必要がありますか?