У меня есть таблица, как этотMySql: запись заказ по идентификатору и родителей
CREATE TABLE `Table1` (
`id` INT NOT NULL AUTO_INCREMENT,
`parent` INT NOT NULL,
`comment` TEXT,
PRIMARY KEY(`id`)
);
Который имеет следующие примеры данных (с некоторым пользователем генерируемый текст в поле комментария)
+------+---------+-
| id | parent |
+------+---------+
| 1 | 0 |
| 2 | 1 |
| 3 | 0 |
| 4 | 1 |
| 5 | 0 |
| 6 | 5 |
| 7 | 4 |
+------+---------+
Как я могу получить следующий порядок в инструкции SELECT.
+------+---------+-
| id | parent |
+------+---------+
| 1 | 0 |
| 2 | 1 |
| 4 | 1 |
| 7 | 4 |
| 3 | 0 |
| 5 | 0 |
| 6 | 5 |
+------+---------+
Я хочу перечислить запись после того, как его родительской записи, а строки с родителем 0 должны быть отсортированы по признаку их «ид».
Не ясно, не могли бы вы объяснить немного больше о сортировочной логики вы är e после? –
Вы уверены, что не хотите, чтобы строки с родителем 0 сверху, а затем отсортированы по id, как и остальные ваши строки? Я не вижу, как этот порядок может быть полезен. Если вы применяете другое правило сортировки в зависимости от значения ... то оно действительно не сортируется. –
MySQL не предназначен для выполнения подобных действий, лучше сделать это после того, как вы извлекли данные, перейдя через массив. – Jester