Zurück zu: SQL Tutorial
Die SQL AVG() Funktion
Die Funktion AVG() gibt den Durchschnittswert einer numerischen Spalte zurück.
Beispiel
Finden Sie den Durchschnittspreis aller Produkte:
SELECT AVG(Price)
FROM Products;
Hinweis: NULL Werte werden ignoriert.
Syntax
SELECT AVG(column_name)
FROM table_name
WHERE condition;
Demo Datenbank
Nachfolgend sehen Sie eine Auswahl aus der in den Beispielen verwendeten Produkttabelle:
| ProduktID | Produktname | LieferantenID | KategorieID | Einheit | Preis |
|---|---|---|---|---|---|
| 1 | Chais | 1 | 1 | 10 Boxen x 20 Taschen | 18 |
| 2 | Chang | 1 | 1 | 24 – 12 oz Flaschen | 19 |
| 3 | Aniseed Syrup | 1 | 2 | 12 – 550 ml Flaschen | 10 |
| 4 | Chef Anton’s Cajun Seasoning | 2 | 2 | 48 – 6 oz Gläser | 22 |
| 5 | Chef Anton’s Gumbo Mix | 2 | 2 | 36 Boxen | 21.35 |
Hinzufügen einer WHERE Klausel
Sie können eine WHERE Klausel hinzufügen, um Bedingungen anzugeben:
Beispiel
Gibt den Durchschnittspreis der Produkte in Kategorie 1 zurück:
SELECT AVG(Price)
FROM Products
WHERE CategoryID = 1;
Verwenden Sie einen Alias
Geben Sie der AVG Spalte mithilfe des Schlüsselworts AS einen Namen.
Beispiel
Benennen Sie die Spalte „Durchschnittspreis“:
SELECT AVG(Price) AS [average price]
FROM Products;
Höher als der Durchschnitt
Um alle Datensätze mit einem höheren Preis als dem Durchschnitt aufzulisten, können wir die Funktion AVG() in einer Unterabfrage verwenden:
Beispiel
Return all products with a higher price than the average price:
SELECT * FROM Products
WHERE price > (SELECT AVG(price) FROM Products);
Verwenden von AVG() mit GROUP BY
Hier verwenden wir die Funktion AVG() und die Klausel GROUP BY, um den Durchschnittspreis für jede Kategorie in der Tabelle „Products“ zurückzugeben:
Beispiel
SELECT AVG(Price) AS AveragePrice, CategoryID
FROM Products
GROUP BY CategoryID;
Später in diesem Tutorial erfahren Sie mehr über die GROUP BY Klausel.