SQL の「単一グループ グループ関数ではありません」エラーについて
SQL では、次のような単一グループ グループ関数が使用されます。 MAX()、SUM()、または AVG() は、指定されたグループ化列に同じ値を持つ行のグループに適用されます。ただし、グループ関数とともに SELECT リストに個々の列式を含めようとして、それらの式のすべてを GROUP BY 句に含めないと、「単一グループのグループ関数ではありません」というエラーが発生します。
問題の説明
サンプル SQL ステートメントでは、提供:
SELECT SSN, MAX(SUM(TIME)) FROM downloads GROUP BY SSN
クエリは、一意の SSN ごとに TIME の合計の最大値を計算し、その最大値に関連付けられた SSN を返そうとします。ただし、このクエリには根本的な問題があります。
解決策
このエラーを解決するには、次のようにします。 3 つのオプションがあります:
オプションを使用したクエリの例2
SELECT SSN, MAX(SUM(TIME)) FROM downloads GROUP BY SSN, TIME
このクエリは SSN と TIME の両方で結果をグループ化し、各 SSN の TIME の最大合計に関連付けられた SSN を取得できます。
以上がSQL クエリで「単一グループのグループ関数ではありません」エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。