SQL-Gruppenfunktionen

Inhaltsverzeichnis

Gruppenfunktionen sind in SQL-Funktionen integriert, die mit Zeilengruppen arbeiten und einen Wert für die gesamte Gruppe zurückgeben. Diese Funktionen sind: GRUPPE, HABEN, ZÄHLEN, MAX, MIN, AVG, SUMME, DISTINCT.
Die Klausel GRUPPIERE NACH Wird in Verbindung mit Gruppenfunktionen verwendet, um Daten abzurufen, die nach einer oder mehreren Spalten gruppiert sind.
Zwischensummen können mit der GROUP BY-Klausel abgerufen werden. Eine Abfrage mit einer GROUP BY-Klausel wird als gruppierte Abfrage bezeichnet, da sie die Daten in der Quelltabelle gruppiert und für jede gebildete Gruppe eine einzelne Zusammenfassungszeile erzeugt. Die in GROUP BY angegebenen Spalten werden als Gruppierungsspalten bezeichnet.
Angenommen, eine Verkaufstabelle mit den folgenden Feldern
ID | Produkt | Preis | Menge | ID-Verkäufer
Beispiel:
SELECT SUM (Preis) als Gesamtumsatz VON Umsatz
Ruft die Summe der getätigten Gesamtverkäufe ab, der Wert wird dem Gesamtumsatz zugewiesen
SUMME (Umsatz) AUSWÄHLEN VON VERKAUFSGRUPPE NACH ID-Mitarbeiter
Für jeden Mitarbeiter wird eine Gruppe gebildet und die Summe über die Zeilen jeder Gruppe berechnet. Das vorherige Beispiel erhält eine Liste mit der Summe der Verkäufe jedes einzelnen Mitarbeiters.
Die Abfrage wäre besser, den Namen des Mitarbeiters in die Auswahlliste aufzunehmen, um zu wissen, welchem ​​Mitarbeiter die Umsatzsumme entspricht:
 SELECT Mitarbeiter.Name, SUM (Preis) AS Umsatz nach Mitarbeiter FROM Umsatz, Mitarbeiter Wobei Umsatz.idemployee = Employees.idemployee GRUPPE NACH ideemployee

Nur:
konstante Werte
Spaltenfunktionen
Gruppieren von Spalten (Spalten, die in der GROUP BY-Klausel erscheinen)
oder jeder Ausdruck, der auf dem Obigen basiert.
Beispiel: Wir wollen, wenn wir Filialen hätten und die Summe der Umsätze der Mitarbeiter nach Region und Stadt gruppiert erhalten:
 SUMME (Preis) als Umsatz nach Filiale AUSWÄHLEN FROM Umsatz GRUPPE NACH Region, Stadt

Es wird zuerst nach Region und innerhalb jeder Region nach Stadt gruppiert.
Alle Zeilen mit einem Nullwert im Gruppierungsfeld werden zu einer einzelnen Gruppe. Das heißt, es behandelt den Nullwert zu Gruppierungszwecken als einen beliebigen Wert.
Die HAVING-Klausel
Die HAVING-Klausel ermöglicht es uns, Zeilen aus der Tabelle auszuwählen, die aus einer Gruppierungsabfrage resultiert
In der Auswahlbedingung kann nur Folgendes erscheinen:
konstante Werte
Spaltenfunktionen
Gruppierungsspalten (Spalten, die in der GROUP BY-Klausel erscheinen)
oder jeder Ausdruck, der auf dem Obigen basiert.
Beispiel: Wir wollen wissen, welche Mitarbeiter mehr als 10.000 Euro verkauft haben
 WÄHLEN SIE * AUS VERKAUFSGRUPPE NACH Mitarbeiter MIT AVG (Preis)> 10000

Um das Gewünschte zu erhalten, müssen wir den durchschnittlichen Umsatz der Mitarbeiter berechnen.Wir müssen die Mitarbeiter nach ID gruppieren und den Durchschnitt für jeden Umsatz pro Mitarbeiter berechnen, schließlich müssen wir aus dem Ergebnis die Zeilen auswählen, die einen höheren Durchschnitt haben als 10.000.
Wie wird eine Gruppenabfrage intern ausgeführt?
Zuerst wird die Datenquellentabelle gemäß der FROM-Klausel gebildet,
die Zeilen werden gemäß der WHERE-Klausel aus der Datenquelle ausgewählt,
Zeilengruppen werden gemäß der GROUP BY-Klausel gebildet,
Für jede Gruppe wird in der resultierenden Tabelle eine Zeile mit den Werten erhalten, die in den GROUP BY-, HAVING-Klauseln und in der Auswahlliste erscheinen.
die Zeilen werden aus der resultierenden Tabelle gemäß der HAVING-Klausel ausgewählt,
Spalten, die nicht in der Auswahlliste erscheinen, werden aus der resultierenden Tabelle entfernt,
die Zeilen der resultierenden Tabelle sind nach der ***** BY-Klausel geordnet
Eine Abfrage wird zu einer Gruppenabfrage, sobald GROUP BY, HAVING oder eine Spaltenfunktion erscheint.Hat dir dieses Tutorial gefallen und geholfen?Sie können den Autor belohnen, indem Sie diesen Knopf drücken, um ihm einen positiven Punkt zu geben
wave wave wave wave wave