die Notwendigkeit der Gruppe durch aggregierte Funktionen
in Datenbankoperationen, aggregierende Funktionen wie Summe () erlauben Sie Berechnungen für mehrere Werte und ein einzelnes Ergebnis zurückzugeben. In SQL stoßen wir jedoch häufig auf die Anforderung, Daten zu gruppieren, bevor wir aggregierte Funktionen ausführen. Die Gruppe nach Klausel spielt in diesem Zusammenhang eine entscheidende Rolle.
Betrachten Sie dieses Szenario: Wir haben eine Tabelle mit Mitarbeitern mit ihren monatlichen Gehältern. Um den Gesamtbetrag in den Gehältern der Mitarbeiter in diesem Monat zu berechnen, können wir die folgende Abfrage instinktiv schreiben:
SELECT EmployeeID, SUM(MonthlySalary) FROM Employee;
generiert diese Abfrage jedoch einen Fehler. Der Grund liegt in der Natur der Aggregatfunktionen wie Summe ().
sum () arbeitet auf einer Wertespalte und gibt ein einzelnes Ergebnis zurück. Ohne eine Gruppe nach Klausel versucht die Abfrage, alle monatlichen Werte in der gesamten Tabelle zu fassen. Da es für jeden Mitarbeiter mehrere Zeilen gibt, ist das Ergebnis eine mehrdeutige Summe aller monatlichen Gehälter für alle Mitarbeiter.
Um aussagekräftige Ergebnisse zu erzielen, müssen wir unsere Daten nach Mitarbeiter gruppieren. Die Gruppe nach Klausel weist die Datenbank an, die SUM () -Operation auf jeder Gruppe von Zeilen auszuführen, die dieselbe Mitarbeiter teilen. Dies ermöglicht es uns, das Gesamtgehalt für jeden Mitarbeiter einzeln zu berechnen. Vom Mitarbeiter Gruppe von EmployeEID;
SELECT EmployeeID, SUM(MonthlySalary) FROM Employee GROUP BY EmployeeID;
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3