SQL AVG() wird verwendet, um den Mit­tel­wert der Werte einer Spalte zu ermitteln. Die Funktion kann erweitert und in andere Aktionen ein­ge­setzt werden. Sie ignoriert NULL-Werte.

Was ist SQL AVG()?

Die Funktion SQL AVG() wird in der Struc­tu­red Query Language ein­ge­setzt, um den Mittel- oder Durch­schnitts­wert der hin­ter­leg­ten Werte in einer be­stimm­ten Spalte anzugeben. Für die Abfrage wird der SQL-Befehl SELECT verwendet. Ins­be­son­de­re bei der Er­stel­lung von Bilanzen, Analysen, Preis­kal­ku­la­tio­nen und in vielen anderen Bereichen ist diese Funktion somit ein besonders wert­vol­les Werkzeug, da Durch­schnitts­wer­te schnell und un­kom­pli­ziert einen be­last­ba­ren Überblick bieten können. Wichtig ist aber zu beachten, dass NULL-Werte dabei von der Funktion nicht be­rück­sich­tigt und somit von der Be­rech­nung aus­ge­schlos­sen werden.

vServer / VPS
VPS un­schlag­bar günstig auf Dell En­ter­pri­se Servern
  • 1 Gbit/s, un­be­grenzt Traffic & mehr Cores
  • Min­des­tens 99,99% Ver­füg­bar­keit & ISO-zer­ti­fi­zier­te Re­chen­zen­tren
  • Aus­ge­zeich­ne­ter 24/7 Premium-Support mit per­sön­li­chem Berater

Syntax und Funk­ti­ons­wei­se

Die grund­sätz­li­che Syntax der Funktion ist sehr einfach und be­inhal­tet nur wenige Parameter. Sie sieht aus wie folgt:

SELECT AVG(name_der_spalte)
FROM name_der_tabelle;
sql

In diesem Fall in­iti­ie­ren Sie lediglich die Ausgabe des Mit­tel­werts über SELECT und die Funktion. Über FROM spe­zi­fi­zie­ren Sie, welche Tabelle be­rück­sich­tigt werden soll.

Möchten Sie die Funktion SQL AVG() noch genauer einsetzen, können Sie die Bedingung WHERE nutzen. Die Syntax ist diese:

SELECT AVG(name_der_spalte)
FROM name_der_tabelle
WHERE voraussetzung;
sql

Sie können dabei auch mehrere Vor­aus­set­zun­gen listen.

Beispiele für die Funk­ti­ons­wei­se von SQL AVG()

Die Funk­ti­ons­wei­se von SQL AVG() verstehen Sie am besten, wenn Sie die Funktion für einen konkreten Ein­satz­zweck nutzen. Dafür stellen wir uns eine Tabelle mit Namen „Kun­den­lis­te“ vor. Auf dieser hin­ter­le­gen wir Kundinnen und Kunden, die Kun­den­num­mer, den Standort, die Anzahl der gekauften Produkte und den Ge­samt­be­trag in Euro für einen be­stimm­ten Zeitraum. So sieht diese Tabelle aus:

Kun­den­num­mer Name Standort Artikel Ge­samt­be­trag
1427 Schmidt Berlin 14 634
1377 Schulz Hamburg 9 220
1212 Peters Hamburg 15 619
1431 Müller München 22 912
1118 Becker Passau 10 312

Nun können Sie zum Beispiel mit Hilfe der Funktion ermitteln, wie viel diese Kundinnen und Kunden Ihnen durch­schnitt­lich bezahlt haben. Der ent­spre­chen­de Befehl lautet fol­gen­der­ma­ßen:

SELECT AVG(Gesamtbetrag)
FROM Kundenliste;
sql

Das Ergebnis würde dann so aussehen:

Ge­samt­be­trag
539,4

Möchten Sie statt­des­sen ermitteln, wie viele Artikel die Kundinnen und Kunden durch­schnitt­lich bestellt haben, funk­tio­niert das nach einem ähnlichen Prinzip:

SELECT AVG(Artikel)
FROM Kundenliste;
sql

Das Ergebnis ist dieses:

Artikel
14

Die Funktion in Kom­bi­na­ti­on mit WHERE

Wie bereits erwähnt, können Sie die Funktion um eine oder mehrere Be­din­gun­gen erweitern, um noch spe­zi­fi­sche­re Er­geb­nis­se zu erhalten. Hier errechnen wir bei­spiel­haft den durch­schnitt­li­chen Umsatz aller Kundinnen und Kunden aus Hamburg:

SELECT AVG(Gesamtbetrag)
FROM Kundenliste
WHERE Standort = 'Hamburg';
sql

Dadurch erhalten wir das folgende Ergebnis:

Ge­samt­be­trag
419,5

Kom­bi­na­ti­on mit weiteren Pa­ra­me­tern

Sie haben auch die Mög­lich­keit, die Funktion mit anderen Pa­ra­me­tern zu kom­bi­nie­ren. Im folgenden Beispiel lassen wir uns so alle Kundinnen und Kunden anzeigen, deren Ausgaben über dem Durch­schnitt liegen. Der ent­spre­chen­de Code sieht so aus:

SELECT Kundennummer, Name, Standort, Artikel, Gesamtbetrag
FROM Kundenliste
WHERE Gesamtbetrag > (SELECT AVG(Gesamtbetrag) FROM Kundenliste);
sql

Die Anzeige wäre dann diese:

Kun­den­num­mer Name Standort Artikel Ge­samt­be­trag
1427 Schmidt Berlin 14 634
1212 Peters Hamburg 15 619
1431 Müller München 22 912

Weitere Funk­tio­nen, die SQL AVG() ähneln

Neben SQL AVG() kennt die Sprache noch weitere Funk­tio­nen, mit denen Sie bestimmte Werte einfach berechnen können. Möchten Sie bei­spiels­wei­se die Summe aller num­me­ri­schen Werte innerhalb einer Spalte bestimmen, ist SUM() die richtige Wahl. Wenn Sie ermitteln wollen, wie viele Zeilen eine bestimmte Vor­aus­set­zung erfüllen, wählen Sie die Funktion COUNT().

Tipp

Die beste Lösung für Ihre Datenbank: Wählen Sie mit SQL-Server-Hosting von IONOS zwischen MSSQL, MySQL oder MariaDB und pro­fi­tie­ren Sie von per­sön­li­cher Beratung, einer starken Si­cher­heits­ar­chi­tek­tur und einer optimalen Ab­stim­mung auf Ihren Bedarf!

Zum Hauptmenü