Il fatto è questo:a qualsiasi funzione aggregata "non importa" del resto della sua linea Se non era MIN ma SUM, è più facile da vedere...
La soluzione è un po' complicata, dovresti fare qualcosa che comporti LEFT JOIN con una disuguaglianza :
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
L'idea è ottenere il valore più basso saltando la funzione MIN e ottenendo l'intera riga
Il filtraggio per data (o qualsiasi altra colonna/criterio in tal senso) dalla tabella leaderboard, richiederà di filtrare ogni tabella che utilizziamo È importante filtrare la tabella LEFT JOINed alla condizione ON, altrimenti eliminiamo l'effetto di filtraggio 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
spero che ti aiuti