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.