То, что вы хотите, это ORDER BY
, а не GROUP BY
.GROUP BY
означает объединение всех строк с одинаковым значением sub_parent
в одну строку.Обычно это используется в сочетании с функциями агрегирования, такими как MAX()
, COUNT()
и т. Д., Для суммирования всех строк в группе.
Таким образом, ваш запрос должен быть:
SELECT *
FROM main_menu_sub
ORDER BY sub_parent, id
Это объединит все строки с одинаковым sub_parent
, и в каждой группе они будут упорядочены по id
.
Если вы хотите показать заголовок для каждой группы sub_parent
, см. Как я могу получить список идентичных данных с циклом while в PHP? для техники печати заголовка при изменении sub_parent
.