SQL ORDER BY next
Подскажите пожалуйста как отсортировать в PostgreSQL(15+) такую таблицу:
id | name | next_id
1 | Test01 | 2
2 | Test02 | 3
3 | Test03 | 6
4 | Test04 | 5
5 | Test05 | null
6 | Test06 | 4
7 | Test07 | null
Требуется SQL-запрос, чтобы упорядочить по next_id столбцу — это указатель на следующую строку. Результат ожидаю такой:
id | name | next_id
1 | Test01 | 2
2 | Test02 | 3
3 | Test03 | 6
6 | Test06 | 4
4 | Test04 | 5
5 | Test05 | null
7 | Test07 | null
Необходимо считать у каждой записи поле next_id, найти эту запись и отобразить после имеющейся. Ведь это поле может меняться, поэтому сортировка по возрастанию не подойдёт и прочие хитрости.
Пока даже нет идей как это сделать изящно. Кроме циклов и временных таблиц.
Источник: Stack Overflow на русском