SELECT
*
FROM
(
SELECT
cat.*
FROM
tbl_catalog cat
LEFT JOIN tbl_catalog_models m ON cat.model_id=m.id
WHERE cat.status=1
ORDER BY m.sort ASC
) as c
GROUP BY c.model_id
';
Убираю группировку, сортировка правильная, включаю сортировка не срабатывает. Как решить?
1. Сортировку нужно делать после группировки (GROUP BY c.model_id ORDER BY m.sort ASC), может вам нужно DESC вместо ASC?
2. Вы делаете группировку, но выбираете всё. Group by обычно используют в связке с агрегирующими функциями типа mean, sum, median. В данном случае в группировке смысла нет.