Общие > Базы данных
[mysql] Запрос с сортировкой
Меняздесьдавнонет:
Шред, тебе нужен топ.
Всего 11 примитивных запросов.
Не парься по этому поводу.
Замерь время создания этого топа и забудь :-)
Alexandr:
--- Цитировать ---shred:
надо среди результатов каждого участника найти лучший и представить лучшие результаты участников
--- Конец цитаты ---
А мой-то запрос тебе чего не нравится?
select y.nick, y.id, MIN(p.time), p.action_date
from участниками у INNER JOIN результаты р ON у.id=р.nick_id
group by у.id, p.action_date DESC
ORDER BY 3
Я кстати в первый раз перепутал MIN c MAX\'ом....
Этот запрос выберет минимальное время для каждого участника
и выдаст его ид\'шник, ник, это самое время и наиболее позднюю дату когда это свершилось, если у него 2 одинаковых времени (если уберёшь DESC, то наиболее раннюю)
и отсортирует всю выборку по 3 полю, т.е. по мин. вр. для каждого участнику, в порядке убывания.
Если добавишь в конец LIMIT 10, то выдаст тока 10 первых
shred:
Оно не отстреливает дубликаты ников, т.е. если у кого-то 5 результатов заездов, они все 5 тут и будут.
Alexandr:
--- Цитировать ---shred:
Оно не отстреливает дубликаты ников
--- Конец цитаты ---
Ты что-то путаешь....
Поторяю
--- Цитировать ---Alexandr:
Этот запрос выберет минимальное время для каждого участника
--- Конец цитаты ---
кекс:
ну и каков результат? придумали что-нить?
такая же проблема.. ищу не нашел пока решения.
Навигация
Перейти к полной версии