Каков наилучший способ сортировки таблицы следующим образом:
CREATE TABLE category(
id INT(10),
parent_id INT(10),
name VARCHAR(50)
);
INSERT INTO category (id, parent_id, name) VALUES
(1, 0, 'pizza'), --node 1
(2, 0, 'burger'), --node 2
(3, 0, 'coffee'), --node 3
(4, 1, 'piperoni'), --node 1.1
(5, 1, 'cheese'), --node 1.2
(6, 1, 'vegetariana'), --node 1.3
(7, 5, 'extra cheese'); --node 1.2.1
Чтобы отсортировать его по иерархии id или имя:
'pizza'//node 1
'piperoni'//node 1.1
'сыр'//node 1.2
"дополнительный сыр" // node 1.2.1
'vegetariana'//node 1.3
'burger'//node 2
'coffee'//node 3
РЕДАКТИРОВАТЬ: номер в конце name - лучше визуализировать strucutre, это не для сортировки.
EDIT 2:, как уже упоминалось несколько раз... номер в конце name
"cheese 1.2" был предназначен только для целей визуализации, НЕ для сортировки, Я переместил их в качестве комментариев, слишком много людей запутались, извините.