Здравствуйте, связался с такой проблемой, вывожу из базы
select * from mess where idUser='1' GROUP BY gripname ORDER BY id DESC
Он группирует, все выводит, но единственное, он не выводит их в порядке последний id - первый id (ORDER BY id DESC). Помогите исправить данную проблему.
В сортировке в данном случае нет смысла. Не стоит использовать в select ничего кроме поля по которому вы группируете и агрегатных функций. Например postgresql запретит вам ваш запрос, и будет права.
В качестве варианта вы может использовать что-то типа:
select max(id), gripname from mess where idUser='1' GROUP BY gripname ORDER BY max(id) DESC
В запросе выше СУБД отсортирует значения по максимальному id попавшему в группировку. Например, есть у вас база со значениями:
id=1, gripname=a
id=4, gripname=b
id=5, gripname=a
Ответом будет вывод:
id=5, gripname=a
id=4, gripname=b
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники