Eine Aggregatfunktion wie SUM() wendet eine mathematische Operation auf eine Menge von Werten an und gibt ein einzelnes Ergebnis zurück . Ohne GROUP BY würde die Aggregatfunktion die gesamte Tabelle bearbeiten, was oft zu unerwarteten oder fehlerhaften Ausgaben führen würde.
Betrachten Sie das folgende Beispiel: Sie haben eine Mitarbeitertabelle mit dem Monatsgehalt jedes Mitarbeiters. Um die gesamten monatlichen Gehaltskosten zu ermitteln, würden Sie die folgende Abfrage verwenden:
SELECT EmployeeID, SUM (MonthlySalary) FROM Employee
Die Ausführung dieser Abfrage ohne GROUP BY würde jedoch einfach dieselbe Tabelle mit dem Gehalt jedes Mitarbeiters zurückgeben, was nicht das gewünschte Ergebnis ist.
Durch die Gruppierung der Daten nach EmployeeID mithilfe von GROUP BY wird sichergestellt, dass die SUM()-Funktion auf die Gehaltsbeträge für jeden Mitarbeiter angewendet wird separat:
SELECT EmployeeID, SUM (MonthlySalary) FROM Employee GROUP BY EmpID
Diese aktualisierte Abfrage liefert jetzt das korrekte Ergebnis, nämlich das monatliche Gesamtgehalt für jeden Mitarbeiter.
In SQL verhält sich GROUP BY wie eine „for every“-Schleife für im Interesse der Aggregatfunktionen. Es unterteilt die Daten basierend auf der/den angegebenen Spalte(n) in Gruppen und wendet die Aggregatfunktion separat auf jede Gruppe an.
Zum Beispiel, wenn die Mitarbeitertabelle die folgenden Zeilen enthält:
empid | MonthlySalary |
---|---|
1 | 200 |
1 | 300 |
2 | 300 |
Bei Verwendung der GROUP BY-Abfrage wäre das Ergebnis:
empid | TotalSalary |
---|---|
1 | 500 |
2 | 300 |
Dies zeigt, wie GROUP BY es Aggregatfunktionen ermöglicht, Operationen an bestimmten Datengruppen durchzuführen und so aussagekräftige und genaue Daten bereitzustellen Ergebnisse.
Das obige ist der detaillierte Inhalt vonWarum ist GROUP BY wichtig, wenn Aggregatfunktionen in SQL verwendet werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!