web-dev-qa-db-ja.com

count()からmax()を選択します

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

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

テーブル列:action_idaction_statususer

リクエスト:

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

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

なにが問題ですか?..

20
Zdomb

つまり、MySQLは、次のように、内部のSELECTに名前を付けることを主張します。

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