SUM() などの集計関数は、一連の値に数学演算を適用し、単一の結果を返します。 。 GROUP BY を使用しない場合、集計関数はテーブル全体で動作し、予期せぬ出力や誤った出力が生じることがよくあります。
次の例を考えてみましょう。各従業員の月給を含む Employee テーブルがあります。毎月の給与支出の合計を確認するには、次のクエリを使用します。
SELECT EmployeeID, SUM (MonthlySalary) FROM Employee
ただし、GROUP BY を使用せずにこのクエリを実行すると、各従業員の給与を含む同じテーブルが返されるだけであり、これは望ましい結果ではありません。
GROUP BY を使用して EmployeeID ごとにデータをグループ化すると、SUM() 関数が各従業員の給与額に確実に適用されます。個別に:
SELECT EmployeeID, SUM (MonthlySalary) FROM Employee GROUP BY EmpID
この更新されたクエリは、各従業員の月給合計である正しい結果を提供するようになりました。
SQL では、GROUP BY は、次の "for each" ループのように機能します。集計関数のためです。指定された列に基づいてデータをグループに分割し、各グループに個別に集計関数を適用します。
たとえば、Employee テーブルに次の行が含まれているとします。
empid | MonthlySalary |
---|---|
1 | 200 |
1 | 300 |
2 | 300 |
GROUP BY クエリを使用すると、結果は次のようになります。
empid | TotalSalary |
---|---|
1 | 500 |
2 | 300 |
これは、GROUP BY によって集約関数がどのように可能になるかを示しています。特定のデータ グループに対して操作を実行し、意味のある正確な結果を提供します。
以上がSQL で集計関数を使用するときに GROUP BY が重要なのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。