Anda hanya perlu menulis kueri pertama sebagai subkueri (tabel turunan), di dalam tanda kurung, pilih alias untuknya (t
bawah) dan alias kolom juga.
DISTINCT
juga dapat dihapus dengan aman sebagai GROUP BY
internal membuatnya mubazir:
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 ;
Sejak COUNT
sekarang jelas bahwa hanya menghitung baris dari tabel turunan, Anda dapat menggantinya dengan COUNT(*)
dan lebih menyederhanakan kueri:
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 ;