Saken är den här:alla aggregerade funktioner "bryr sig inte" om resten av sin rad Om det inte var MIN utan SUM, är det lättare att se...
Lösningen är lite knepig, du borde göra något som innebär LEFT JOIN med en ojämlikhet :
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
Tanken är att få lägsta värde genom att hoppa över MIN-funktionen och få hela raden
Filtrering efter datum (eller någon annan kolumn/kriterier för den delen) från leaderboard-tabellen kommer att kräva att vi filtrerar varje tabell vi använder. Det är viktigt att filtrera tabellen LEFT JOINed vid PÅ-läget, annars eliminerar vi filtreringseffekten 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
hoppas det hjälper