Имеем: таблица с участниками (id, nick) и таблица с результатами заездов этих участников (id, nick_id, time, action_date, где time - за какое время доехал, action_date - дата, когда это было).
Требуется: что-то вроде "Топ 10 ездаков", со строками вида "time | nick | action_date", nick\'и, конечно, повторяться не должны, сортировка по time, меньшее впереди.
Если пишем
select * from участниками у, результаты р
where у.id=р.nick_id
group by у.idизбавляемся от повторов ников, но и теряем нужную запись (с лучшим временем), вместо нее - произвольная.
Если писать
group by р.time asc, у.id вылазят записи о всех заездах. В сущности, все ок, только не знаю как повторяющиеся ники убрать.
Вот если бы можно было сначала отсортировать, а потом с помощью
group by у.id отстрелить дубли
Но порядок group by, order by и т.д. строго определен...
Как быть?