Как отсортировать и сгруппировать по первому элементу?
Использую MySql, пытаюсь получить лучшее значение в лучшей группировки и вернуть весь объект, написал:
SELECT t.*
FROM ( SELECT *
FROM trainingobjects
ORDER BY SameIndex desc) t
GROUP BY t.ApplicationUserId
order by t.SameIndex desc
Не могу понять, почему возвращает не лучший результат, а другой.
Ответы (1 шт):
Автор решения: Akina
→ Ссылка
Навскидку (пока, правда, задача неясна) должно быть что-то типа
SELECT t1.*
FROM trainingobjects t1
JOIN ( SELECT ApplicationUserId, MAX(SameIndex) SameIndex
FROM trainingobjects
GROUP BY ApplicationUserId ) t2 USING (ApplicationUserId, SameIndex)
ORDER BY t1.SameIndex desc