Sie müssen nur die erste Abfrage als Unterabfrage (abgeleitete Tabelle) schreiben, innerhalb von Klammern einen Alias dafür auswählen (t
unten) und aliasieren Sie auch die Spalten.
Der DISTINCT
kann auch sicher als interner GROUP BY
entfernt werden macht es überflüssig:
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 ;
Seit COUNT
nun offensichtlich ist, dass nur Zeilen der abgeleiteten Tabelle gezählt werden, können Sie dies durch COUNT(*)
ersetzen und die Abfrage weiter vereinfachen:
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 ;