ホームページ >データベース >mysql チュートリアル >SQL で集計関数を使用するときに GROUP BY が必要なのはなぜですか?
集計関数を使用した 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 サイトの他の関連記事を参照してください。