ホームページ >データベース >mysql チュートリアル >SQL で集計関数を使用するときに GROUP BY が必要なのはなぜですか?

SQL で集計関数を使用するときに GROUP BY が必要なのはなぜですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-19 13:54:12494ブラウズ

Why is GROUP BY Necessary When Using Aggregate Functions in SQL?

集計関数を使用した GROUP BY の必要性

データベース操作では、SUM() などの集計関数を使用して複数の計算を実行できます。値を入力し、単一の結果を返します。ただし、SQL では、集計関数を実行する前にデータをグループ化する必要があることがよくあります。 GROUP BY 句は、このコンテキストで重要な役割を果たします。

次のシナリオを考えてみましょう。従業員とその月給の表があります。今月従業員の給与として支払われる合計金額を計算するには、本能的に次のクエリを作成するかもしれません:

SELECT EmployeeID, SUM(MonthlySalary)
FROM Employee;

しかし、このクエリはエラーを生成します。その理由は、SUM() のような集計関数の性質にあります。

SUM() は値の列を操作し、単一の結果を返します。 GROUP BY 句を使用しないと、クエリはテーブル全体のすべての MonthlySalary 値を合計しようとします。各従業員に複数の行があるため、結果は全従業員のすべての月給のあいまいな合計になります。

意味のある結果を得るには、データを EmployeeID でグループ化する必要があります。 GROUP BY 句は、同じ EmployeeID を共有する行の各グループに対して SUM() 操作を実行するようにデータベースに指示します。これにより、各従業員の給与総額を個別に計算できます。

SELECT EmployeeID, SUM(MonthlySalary)
FROM Employee
GROUP BY EmployeeID;

GROUP BY 句を使用すると、クエリは各従業員の給与総額を正確に決定し、意味のある出力を提供します。したがって、GROUP BY は、グループ化されたデータのセットに集計関数を適用する SQL クエリの重要な要素として機能します。

以上がSQL で集計関数を使用するときに GROUP BY が必要なのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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