Jde o to, že jakákoli agregační funkce se „nestará“ o zbytek svého řádku. Pokud to nebylo MIN, ale SUM, je to lépe vidět...
Řešení je trochu složitější, měli byste udělat něco, co zahrnuje LEFT JOIN s nerovností:
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
Cílem je získat nejnižší hodnotu přeskočením funkce MIN a získáním celého řádku
Filtrování podle data (nebo jakéhokoli jiného sloupce / kritéria) z tabulky výsledkové tabulky po nás bude vyžadovat filtrování každé tabulky, kterou používáme. Je důležité filtrovat tabulku LEFT JOINed ve stavu ON, jinak eliminujeme efekt filtrování 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
doufám, že to pomůže