count() から max() を選択する [重複] 質問する

count() から max() を選択する [重複] 質問する

重複の可能性あり:
すべての派生テーブルには独自のエイリアスが必要です

ユーザーごとのアクションの最大数を見つける必要がある

表の列: action_id、、action_statususer

リクエスト:

SELECT MAX(`counted`) FROM
(
SELECT COUNT(*) AS `counted`
FROM `table_actions`
WHERE `status` = "good"
GROUP BY `user`
)

エラー メッセージ: 「すべての派生テーブルには独自のエイリアスが必要です」

なにが問題ですか?..

ベストアンサー1

つまり、MySQL では、次のように内部にSELECT名前を付ける必要があるということです。

SELECT MAX(counted) FROM
(
    SELECT COUNT(*) AS counted
    FROM table_actions
    WHERE status = "good"
    GROUP BY user
) AS counts;

おすすめ記事