Работата е следната:всяка агрегатна функция "не се интересува" от останалата част от своя ред. Ако не е MIN, а SUM, по-лесно е да се види...
Решението е малко сложно, трябва да направите нещо, което включва LEFT JOIN с неравенство:
SELECT u.username, l.timer AS intScore, l.hashtag
FROM
leaderboard l
INNER JOIN users u ON u.users_id = l.users_id
LEFT JOIN leaderboard l2 ON l.users_id = l2.users_id AND l2.timer < l.timer
WHERE
l2. users_id IS NULL
ORDER BY intScore ASC
Идеята е да получите най-ниската стойност, като прескочите функцията MIN и получите целия ред
Филтрирането по дата (или всяка друга колона/критерий за този въпрос) от таблицата с класации ще изисква от нас да филтрираме всяка таблица, която използваме. Важно е да филтрирате LEFT JOINed таблицата при условие ON, в противен случай елиминираме ефекта на филтриране NULLs:
SET @date0 = '2018-01-01';
SELECT u.username, l.timer AS intScore, l.hashtag
FROM
leaderboard l
INNER JOIN users u ON u.users_id = l.users_id
LEFT JOIN leaderboard l2 ON l.users_id = l2.users_id AND l2.timer < l.timer AND l2.game_date >= @date0
WHERE
l.game_date >= @date0
l2.users_id IS NULL
ORDER BY intScore ASC
надявам се да помогне