Это последний: один подзапрос, чтобы выбрать все записи до указанной даты, которые соответствуют моим критериям, и затем попытаться сгруппировать результаты по идентификатору пользователя и упорядочить по рангу
Похоже, это не сработало.Обратите внимание, что в одном звании может быть несколько человек.
SELECT *
FROM (SELECT users.userid as userid,
users.name as name,
leagues.league as league,
leagues.datestamp AS datestamp,
ranking.ranking as ranking,
user_profiles.profile_pic as profile_pic,
user_profiles.team as team
FROM users
LEFT JOIN leagues ON users.userid = leagues.userid
LEFT JOIN ranking ON users.userid = ranking.userid
LEFT JOIN user_profiles ON users.userid=user_profiles.userid
WHERE (leagues.datestamp <= '{$date}'
AND leagues.ladder = '3'
AND ranking.ladder = '3')
ORDER BY datestamp DESC) as t1
GROUP BY userid
ORDER BY ranking