Задавайте вопросы, мы ответим
Вы не зашли.
Доброго времени суток!
Данным запросом вывожу самые качаемые релизы "пользователей" (т.е. из всех загруженных релизов пользователем выбирается только самый качаемый):
$a = mysql_query("SELECT t1.* FROM torrents AS t1 INNER JOIN (SELECT owner, MAX(times_completed) AS tmax
FROM torrents GROUP BY owner ORDER BY tmax DESC LIMIT 5) AS t2
ON (t1.owner = t2.owner AND t1.times_completed = t2.tmax)");
owner = ид пользователя
times_completed = сколько раз был скачан релиз
При первом тесте всё хорошо работало, но когда у owner'a появилось два релиза с одинаковым MAX(times_completed) то они стали два и выводиться. Почему? Подскажите пожалуйста как испавить!
Проблема на скрине, у пользователя №8:
Неактивен
А какой бы из файлов выбрали бы Вы? А почему не другой?
Можете попробовать сгруппировать по owner во внешнем запросе — будут выбраны
какие-то данные этого пользователя из двух строк. Но, разумеется, тогда надо выбирать
во внутреннем запросе больше строк (ведь некоторые могут сгруппироваться), а во внеш-
нем добавить LIMIT 5.
Неактивен
Спасибо paulus, разобрался!
Просто добавил GROUP BY times_completed в основной запрос и всё заработало!
Неактивен