# SQL AVG(): Syntax und Beispiele für den Einsatz der Funktion

SQL AVG() wird verwendet, um den Mittelwert der Werte einer Spalte zu ermitteln. Die Funktion kann erweitert und in andere Aktionen eingesetzt werden. Sie ignoriert NULL-Werte.

## Was ist SQL AVG()?

Die Funktion SQL AVG() wird in der [Structured Query Language](https://www.ionos.de/digitalguide/server/knowhow/was-ist-sql/) eingesetzt, um den **Mittel- oder Durchschnittswert** der hinterlegten Werte in einer bestimmten Spalte anzugeben. Für die Abfrage wird der [SQL-Befehl](https://www.ionos.de/digitalguide/server/konfiguration/sql-befehle/) SELECT verwendet. Insbesondere bei der Erstellung von Bilanzen, Analysen, Preiskalkulationen und in vielen anderen Bereichen ist diese Funktion somit ein besonders wertvolles Werkzeug, da Durchschnittswerte schnell und unkompliziert einen belastbaren Überblick bieten können. Wichtig ist aber zu beachten, dass **NULL-Werte dabei von der Funktion nicht berücksichtigt** und somit von der Berechnung ausgeschlossen werden.

## Syntax und Funktionsweise

Die grundsätzliche Syntax der Funktion ist sehr einfach und beinhaltet nur wenige Parameter. Sie sieht aus wie folgt:

```sql
SELECT AVG(name_der_spalte)
FROM name_der_tabelle;
```

In diesem Fall initiieren Sie lediglich die Ausgabe des Mittelwerts über SELECT und die Funktion. Über FROM spezifizieren Sie, welche Tabelle berücksichtigt werden soll.

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

```sql
SELECT AVG(name_der_spalte)
FROM name_der_tabelle
WHERE voraussetzung;
```

Sie können dabei auch mehrere Voraussetzungen listen.

## Beispiele für die Funktionsweise von SQL AVG()

Die Funktionsweise von SQL AVG() verstehen Sie am besten, wenn Sie die Funktion für einen konkreten Einsatzzweck nutzen. Dafür stellen wir uns eine Tabelle mit Namen „Kundenliste“ vor. Auf dieser hinterlegen wir Kundinnen und Kunden, die Kundennummer, den Standort, die Anzahl der gekauften Produkte und den Gesamtbetrag in Euro für einen bestimmten Zeitraum. So sieht diese Tabelle aus:

<table>
  <thead>
    <tr>
      <th><strong>Kundennummer</strong></th>
      <th><strong>Name</strong></th>
      <th><strong>Standort</strong></th>
      <th><strong>Artikel</strong></th>
      <th><strong>Gesamtbetrag</strong></th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>1427</td>
      <td>Schmidt</td>
      <td>Berlin</td>
      <td>14</td>
      <td>634</td>
    </tr>
    <tr>
      <td>1377</td>
      <td>Schulz</td>
      <td>Hamburg</td>
      <td>9</td>
      <td>220</td>
    </tr>
    <tr>
      <td>1212</td>
      <td>Peters</td>
      <td>Hamburg</td>
      <td>15</td>
      <td>619</td>
    </tr>
    <tr>
      <td>1431</td>
      <td>Müller</td>
      <td>München</td>
      <td>22</td>
      <td>912</td>
    </tr>
    <tr>
      <td>1118</td>
      <td>Becker</td>
      <td>Passau</td>
      <td>10</td>
      <td>312</td>
    </tr>
  </tbody>
</table>

Nun können Sie zum Beispiel mit Hilfe der Funktion ermitteln, wie viel diese Kundinnen und Kunden Ihnen durchschnittlich bezahlt haben. Der entsprechende Befehl lautet folgendermaßen:

```sql
SELECT AVG(Gesamtbetrag)
FROM Kundenliste;
```

Das Ergebnis würde dann so aussehen:

<table>
  <thead>
    <tr>
      <th><strong>Gesamtbetrag</strong></th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>539,4</td>
    </tr>
  </tbody>
</table>

Möchten Sie stattdessen ermitteln, wie viele Artikel die Kundinnen und Kunden durchschnittlich bestellt haben, funktioniert das nach einem ähnlichen Prinzip:

```sql
SELECT AVG(Artikel)
FROM Kundenliste;
```

Das Ergebnis ist dieses:

<table>
  <thead>
    <tr>
      <th><strong>Artikel</strong></th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>14</td>
    </tr>
  </tbody>
</table>

## Die Funktion in Kombination mit WHERE

Wie bereits erwähnt, können Sie die Funktion um eine oder mehrere Bedingungen erweitern, um noch spezifischere Ergebnisse zu erhalten. Hier errechnen wir beispielhaft den durchschnittlichen Umsatz aller Kundinnen und Kunden aus Hamburg:

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

Dadurch erhalten wir das folgende Ergebnis:

<table>
  <thead>
    <tr>
      <th><strong>Gesamtbetrag</strong></th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>419,5</td>
    </tr>
  </tbody>
</table>

## Kombination mit weiteren Parametern

Sie haben auch die Möglichkeit, die Funktion mit anderen Parametern zu kombinieren. Im folgenden Beispiel lassen wir uns so alle Kundinnen und Kunden anzeigen, deren Ausgaben über dem Durchschnitt liegen. Der entsprechende Code sieht so aus:

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

Die Anzeige wäre dann diese:

<table>
  <thead>
    <tr>
      <th>Kundennummer</th>
      <th>Name</th>
      <th>Standort</th>
      <th>Artikel</th>
      <th>Gesamtbetrag</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>1427</td>
      <td>Schmidt</td>
      <td>Berlin</td>
      <td>14</td>
      <td>634</td>
    </tr>
    <tr>
      <td>1212</td>
      <td>Peters</td>
      <td>Hamburg</td>
      <td>15</td>
      <td>619</td>
    </tr>
    <tr>
      <td>1431</td>
      <td>Müller</td>
      <td>München</td>
      <td>22</td>
      <td>912</td>
    </tr>
  </tbody>
</table>

## Weitere Funktionen, die SQL AVG() ähneln

Neben SQL AVG() kennt die Sprache noch weitere Funktionen, mit denen Sie bestimmte Werte einfach berechnen können. Möchten Sie beispielsweise die Summe aller nummerischen Werte innerhalb einer Spalte bestimmen, ist **SUM()** die richtige Wahl. Wenn Sie ermitteln wollen, wie viele Zeilen eine bestimmte Voraussetzung erfüllen, wählen Sie die Funktion [COUNT()](https://www.ionos.de/digitalguide/server/konfiguration/sql-count/).

Tipp Die beste Lösung für Ihre Datenbank: Wählen Sie mit [SQL-Server-Hosting](https://www.ionos.de/cloud/sql-server-hosting "SQL-Server-Hosting von IONOS") von IONOS zwischen MSSQL, MySQL oder MariaDB und profitieren Sie von persönlicher Beratung, einer starken Sicherheitsarchitektur und einer optimalen Abstimmung auf Ihren Bedarf!


This is a markdown version of: [https://www.ionos.de/digitalguide/server/konfiguration/sql-avg/](https://www.ionos.de/digitalguide/server/konfiguration/sql-avg/) for AI/LLM consumption.