最初のクエリをサブクエリ(派生テーブル)として記述し、括弧内にそのエイリアスを選択するだけです(t
以下)、列のエイリアスも作成します。
DISTINCT
内部のGROUP BY
として安全に削除することもできます 冗長にします:
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 ;
COUNT
以降 派生テーブルの行のみをカウントしていることが明らかになりました。これをCOUNT(*)
に置き換えることができます。 クエリをさらに簡素化します:
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 ;