У меня есть таблица базы данных 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 выборок или когда какое-либо условие в строке становится истинным), но это не является обязательным требованием (может быть выполнено на стороне клиента). Я (надеюсь, мне) не нужно проверять циклические ссылки.