Chodzi o to, że każda funkcja agregująca "nie dba o" resztę swojej linii.Jeśli nie było MIN, ale SUM, łatwiej to zobaczyć...
Rozwiązanie jest trochę skomplikowane, powinieneś zrobić coś, co obejmuje LEFT JOIN z nierównością :
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
Pomysł polega na uzyskaniu najniższej wartości poprzez pominięcie funkcji MIN i uzyskanie całego wiersza
Filtrowanie według daty (lub dowolnej innej kolumny/kryteriów) z tabeli liderów będzie wymagało od nas filtrowania każdej używanej tabeli Ważne jest, aby filtrować tabelę LEFT JOINed w warunku ON, w przeciwnym razie eliminujemy efekt filtrowania NULL:
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
mam nadzieję, że to pomoże