Есть таблица
Если я делаю следующий запрос
SELECT DISTINCT id_event
FROM mes
LEFT JOIN searchjur ON mes.id_event = searchjur.id
WHERE to=58
ORDER BY t5ime_mes DESC LIMIT 20
то у меня выборка происходит следующим образом. Сначала он выбирает все уникальные значения id_event, а потом уже сортирует результат этой выборки по полю t5ime_mes,
а как сделать, что бы выборка происходила по убыванию поля t5ime_mes , но при этом брало уникальные значения поля id_event?
Пробовал делать
SELECT `id`, `id_event`, max(`t5ime_mes`)
FROM ( SELECT *
FROM `mes`
ORDER BY `t5ime_mes` DESC ) as `new_table`
GROUP BY `id_event`
но это тоже не дало положительного результата
Есть варварский способ получить то, что ты хочешь увидеть (почти как в комментарии). select Id_event, mes_to, MAX(t5ime_to) from table1 group by id_event order by MAX(t5ime_to) desc; Но я не уверен в том, что это решит твою проблему.
В комментарии добавить не могу. (
SELECT id_event
FROM mes
LEFT JOIN searchjur ON mes.id_event = searchjur.id
WHERE to=58
GROUP BY id_event
ORDER BY MAX(t5ime_mes) DESC LIMIT 20
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники