Aggregatfunktionen

Verfügbar

6.1 Liste der Aggregatfunktionen

Wenn Sie die Zeilengruppierung in SQL mit dem Operator verwenden GROUP BY, können Sie SELECTin der Anweisung Funktionen verwenden, die mit den gruppierten Daten arbeiten. Solche Funktionen werden auch Aggregatfunktionen genannt.

Hier ist eine Liste der beliebtesten:

# Funktion Beschreibung
1 ZÄHLEN() Gibt die Anzahl der Werte in einer Gruppe zurück
2 SUMME() Gibt die Summe der Werte in einer Gruppe zurück
3 MAX() Gibt den Maximalwert einer Gruppe zurück
4 MINDEST() Gibt den Mindestwert einer Gruppe zurück
5 AVG() Gibt den Mittelwert einer Gruppe zurück
6 BIT_AND() Führt ein bitweises UND über alle Gruppenwerte durch
7 BIT_OR() Führt ein bitweises ODER über alle Gruppenwerte durch
8 BIT_XOR() Führt ein bitweises XOR über alle Gruppenwerte durch
9 GROUP_CONCAT() Verkettet alle Gruppenwerte zu einer Zeichenfolge
Dies ist keine vollständige Liste der Aggregatfunktionen, aber der Rest ist sehr spezifisch und ich glaube nicht, dass Sie sie in den nächsten 5 Jahren verwenden werden. Wenn Sie sie noch benötigen, können Sie jederzeit die offizielle Dokumentation Ihres DBMS lesen.

Schauen wir uns nun einige Beispiele mit unseren Aggregatfunktionen an.

6.2 Analyse der Mitarbeitergehälter

Lassen Sie uns einige Statistiken über unsere Mitarbeiter aus der Mitarbeitertabelle berechnen .

Frage eins: Wie viele Mitarbeiter haben wir?

Wenn wir die Anzahl aller Datensätze in der Tabelle herausfinden möchten, können wir hierfür die Aggregatfunktion verwenden COUNT. Die Anfrage sieht folgendermaßen aus:

SELECT COUNT(*) FROM employee

Und MySQL gibt als Antwort die Nummer 6 zurück. Wir haben 6 Mitarbeiter in der Abteilung, darunter eine Katze. Alles ist richtig.

Frage zwei: Wie viel zahlen wir allen Mitarbeitern pro Monat?

Um diese Frage zu beantworten, müssen wir die Gehälter aller Mitarbeiter summieren. Dazu nutzen wir die AggregatfunktionSUM()

Die Anfrage sieht folgendermaßen aus:

SELECT SUM(salary) FROM employee

Beachten Sie, dass wir dieses Mal die Werte der Spalte angeben müssen, die wir zusammenfassen. Wir haben eine Gehaltsspalte angegeben . Wir können nicht einfach alle Felder in einer Tabelle summieren.

Und MySQL gibt als Antwort die Nummer 461000 zurück. Wir haben 6 Mitarbeiter in der Abteilung und das Gehalt beträgt 461.000. Zu viel.

Und zum Schluss noch die dritte Frage: Wie hoch sind unsere Höchst- und Mindestgehälter in der Abteilung? Nun, berechnen wir das Durchschnittsgehalt. Dazu benötigen wir die Funktionen MIN, MAXund AVG.

Die Abfrage wird dieses Mal etwas komplexer sein und so aussehen:

SELECT MIN(salary), AVG(salary), MAX(salary)
FROM employee

Das Ergebnis dieser Abfrage wird sein:

MIN(Gehalt) AVG (Gehalt) MAX(Gehalt)
1000 76833.3333 200000

Der Mindestlohn in unserer Abteilung beträgt 1.000 US-Dollar – sehr gut. Das Höchstgehalt beträgt 200.000, aber das ist der Direktor.

Aber das Durchschnittsgehalt ist zu hoch, man muss die Kosten irgendwie optimieren. Lass uns eine andere Katze einstellen und das war's :)

Kommentare
  • Beliebt
  • Neu
  • Alt
Du musst angemeldet sein, um einen Kommentar schreiben zu können
Auf dieser Seite gibt es noch keine Kommentare