Du behöver bara skriva den första frågan som en underfråga (härledd tabell), inom parentes, välj ett alias för den (t
nedan) och även alias kolumnerna.
DISTINCT
kan också säkert tas bort som den interna GROUP BY
gör det överflödigt:
SELECT DATE(`date`) AS `date` , COUNT(`player_name`) AS `player_count`
FROM (
SELECT MIN(`date`) AS `date`, `player_name`
FROM `player_playtime`
GROUP BY `player_name`
) AS t
GROUP BY DATE( `date`) DESC LIMIT 60 ;
Sedan COUNT
är nu uppenbart att bara räknar rader i den härledda tabellen, du kan ersätta den med COUNT(*)
och förenkla frågan ytterligare:
SELECT t.date , COUNT(*) AS player_count
FROM (
SELECT DATE(MIN(`date`)) AS date
FROM player_playtime
GROUP BY player_name
) AS t
GROUP BY t.date DESC LIMIT 60 ;