次の構造の MySQL データベース テーブルがあります。
table
id INT NOT NULL PRIMARY KEY
data ..
next_id INT NULL
リンクされたリストの順序でデータを取得する必要があります。たとえば、次のデータがあるとします。
id | next_id
----+---------
1 | 2
2 | 4
3 | 9
4 | 3
9 | NULL
id=1、2、4、3、9 の行をこの順序でフェッチする必要があります。データベースクエリでこれを行うにはどうすればよいですか? (私はクライアント側でそれを行うことができます。データベース側でこれを行うことができるかどうか興味があります。したがって、不可能だと言っても大丈夫です(十分な証拠があれば))。
終了ポイントもあると便利です (たとえば、10 回のフェッチの後、または行の条件が真になったときに停止します) が、これは必須ではありません (クライアント側で実行できます)。循環参照をチェックする必要がないことを願っています。