ホームページ >データベース >mysql チュートリアル >SQL での「単一グループのグループ関数ではありません」エラーを解決する方法は?

SQL での「単一グループのグループ関数ではありません」エラーを解決する方法は?

Patricia Arquette
Patricia Arquetteオリジナル
2025-01-04 07:46:40616ブラウズ

How to Resolve the

SQL の「単一グループのグループ関数ではありません」エラーについて

SELECT でグループ関数と個々の列式を組み合わせようとした場合指定されたクエリのようなステートメント:

SELECT SSN, MAX(SUM(TIME))
FROM downloads
GROUP BY SSN

「単一グループではないグループ」が発生する可能性があります。関数」エラー。これは、SUM(TIME) グループ関数がグループ (SSN) ごとに単一の値を計算するため、個々の列式 SSN と互換性がなくなるために発生します。

このエラーを解決するには、いくつかのオプションがあります。

  1. 個々の列を削除式:

    SELECT MAX(SUM(TIME))
    FROM downloads
    GROUP BY SSN

    これは、対応する SSN を含まない最大合計値のみを返します。

  2. すべての列に GROUP BY 句を追加します。式:

    SELECT SSN, MAX(SUM(TIME))
    FROM downloads
    GROUP BY SSN, TIME

    これにより、結果が両方でグループ化されます。 SSN と TIME、MAX(SUM(TIME)) 関数を有効にします。

  3. 集計サブクエリを使用します:

    SELECT SSN, SUM(TIME)
    FROM downloads
    GROUP BY SSN
    HAVING SUM(TIME) = (SELECT MAX(SUM(TIME)) FROM downloads GROUP BY SSN)

    このサブクエリ最大合計値を計算し、各 SSN の SUM(TIME) がその値と一致する行のみを選択します。

特定の要件に応じて、これらのソリューションの 1 つを使用すると、「単一グループのグループ関数ではありません」というエラーが発生することなく、目的の結果を得ることができます。

以上がSQL での「単一グループのグループ関数ではありません」エラーを解決する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。