sql >> データベース >  >> RDS >> Mysql

MySQL:グループ関数の無効な使用

    HAVINGを使用する必要があります 、WHEREではありません 。

    違いは次のとおりです。WHERE 句は、MySQLが選択する行をフィルタリングします。 次に MySQLは行をグループ化し、COUNTの数値を集計します 機能。

    HAVING WHEREのようなものです 、にのみ発生します COUNT 値が計算されているため、期待どおりに機能します。サブクエリを次のように書き直します:

    (                  -- where that pid is in the set:
    SELECT c2.pid                  -- of pids
    FROM Catalog AS c2             -- from catalog
    WHERE c2.pid = c1.pid
    HAVING COUNT(c2.sid) >= 2)
    


    1. Tan()がPostgreSQLでどのように機能するか

    2. MySQL、Postgres、Aurora用のサーバーレスGraphQLAPIを作成する方法

    3. アプリの起動時にpg-promiseとのデータベース接続を確認する

    4. スペースを含むOracleテーブルの列名