La cosa es esta:a cualquier función agregada "no le importa" el resto de su línea. Si no fuera MIN sino SUM, es más fácil de ver...
La solución es un poco complicada, deberías hacer algo que involucre LEFT JOIN con una desigualdad:
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
La idea es obtener el valor más bajo omitiendo la función MIN y obteniendo la fila completa
Filtrar por fecha (o cualquier otra columna / criterio para el caso) de la tabla de clasificación, requerirá que filtremos cada tabla que usamos. Es importante filtrar la tabla LEFT JOINed en la condición ON, de lo contrario eliminamos el efecto de filtrado 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
Espero que ayude