# SQL MIN AND MAX: Kleinste und größte Werte ermitteln

In SQL zählt `MIN AND MAX` zu den Aggregatfunktionen, mit deren Hilfe sich **die kleinsten und größten Werte** in Datensätzen, Tabellen und Spalten ermitteln lassen. Sie kommt für die Optimierung und Beschleunigung von Datenabfragen zum Einsatz und ermöglicht eine effiziente Datenauswertung zur Ermittlung von Trends, Anomalien oder Prozessen.

## SQL `MIN AND MAX`: Definition und Bedeutung

SQL `MIN AND MAX` zählt zu den SQL-Aggregatfunktionen, führt mit numerischen Werten oder Zeichenketten Berechnungen durch und gibt einen einzelnen Wert zurück. Sie können mit `MIN AND MAX` je nach Abfrage und Parametern in Datensätzen, Tabellen, Spalten oder Zeilen unter anderem **Minimal- und Maximalwerte finden** sowie kleinste und größte Werte vergleichen.

Da sie **komplexe Datenauswertungen deutlich beschleunigt**, lässt sich die Funktion `MIN AND MAX` aus SQL nicht mehr wegdenken. Sie können in kurzer Zeit unter anderem Produkt-, Preis- oder Kostentabellen nach Minimal- und Maximalwerten filtern oder Anomalien ausfindig machen. Je nach optionalen Parametern und Suchanfragen lässt sich die Funktion mit weiteren [SQL-Befehlen](https://www.ionos.de/digitalguide/server/konfiguration/sql-befehle/) wie [SQL WHERE](https://www.ionos.de/digitalguide/server/konfiguration/sql-where/), [SQL JOIN](https://www.ionos.de/digitalguide/server/konfiguration/sql-min-and-max/), `HAVING` oder `GROUP BY` kombinieren.

Tipp Sie möchten mehr über [SQL](https://www.ionos.de/digitalguide/server/knowhow/was-ist-sql/) lernen, haben sich bisher aber kaum mit der Programmiersprache beschäftigt? Dann verschafft Ihnen unsere [SQL-Einführung mit Beispielen](https://www.ionos.de/digitalguide/server/konfiguration/sql-einfuehrung-mit-beispielen/) einen ersten Überblick.

## So sieht die Syntax von SQL `MIN AND MAX` aus

Die `MIN AND MAX`-Funktion eignet sich **für einfache Datenabfragen** sowie in Kombination mit anderen [SQL-Operatoren](https://www.ionos.de/digitalguide/server/konfiguration/sql-operatoren/) **für komplexe Analysen**.

Die Syntax sieht wie folgt aus:

```sql
MIN(spalte oder zeichenkette)
MAX(spalte oder zeichenkette)
```

Möchten Sie die Funktion auf ausgewählte numerische Werte in Ihren Datensätzen anwenden, kombinieren Sie `MIN AND MAX` mit den **SQL-Befehlen `SELECT` und der Klausel `FROM`**. Mit diesen wählen Sie die gewünschte Tabelle und die betreffenden Spalten oder Zeilen wie folgt aus:

```sql
SELECT  MIN(spaltenname oder zeichenkette) FROM  tabellenname
MAX(spalte oder zeichenkette)  FROM  tabellenname
```

Mit zusätzlichen Parametern und Befehlen lässt sich die Abfrage präzise definieren. Dazu zählen:

- `DISTINCT`: Eliminiert bei Datenabfragen Duplikate und doppelte Zeilen, um eindeutige Listen zu erhalten.
- `WHERE`: Schließt vor dem Filtern mit `MIN AND MAX` bestimmte Datensätze aus und konzentriert sich nur auf gewünschte Teilmengen.
- `GROUP BY`: Gruppiert abgefragte Datensätze in eine oder mehrere Spalten beispielsweise nach Region oder Kategorie und ermöglicht es, Trends oder Muster zu analysieren.
- `HAVING`: Filtert Ergebnisse nach der Aggregation von Mindest- und Maximalwerten zusätzlich, um beispielsweise nur Ergebnisse für bestimmte Kriterien anzuzeigen.
- `BETWEEN`: Filtert in Kombination mit `MIN AND MAX` die Ergebnisse nach bestimmten Wertebereichen.
- `JOIN`: Ermöglicht es, in der Zieltabelle Mindest- und Maximalwerte aus einer oder mehreren Tabellen zusammenzuführen.

## Diese Anwendungsmöglichkeiten bietet SQL `MIN AND MAX`

Die Einsatzmöglichkeiten der SQL-Funktion `MIN AND MAX` sind nahezu grenzenlos, insbesondere in Kombination mit weiteren Parametern. Mögliche Anwendungsfälle umfassen:

- Filtern von höchsten und niedrigsten Preisen in Produkttabellen
- Ermitteln von größten und kleinsten Dateien
- Gehaltsanalysen von Mitarbeiterinnen und Mitarbeitern
- Häufigkeit von Zeichenketten, Wörtern oder Werten in einem Datensatz anzeigen
- Erkennen von Anomalien durch das Unter- oder Überschreiten von Durchschnitts- oder Schwellenwerten
- Erkennen von Leistungsspitzen oder Performanceschwächen
- Ermittlung von Trends anhand von Durchschnittswerten und Berichten pro Region, Team, Produktkategorie oder Dienst
- Analyse von Lagerbeständen und Produkten
- Eingrenzung von Datenanalysen bei großen Datensätzen

Tipp Zu leistungsstarkem Datenmanagement gehört die richtige Hosting-Lösung für Datenbank-Management-Systeme. Mit [SQL-Server-Hosting](https://www.ionos.de/cloud/sql-server-hosting/ "SQL-Server-Hosting von IONOS") von IONOS verlassen Sie sich auf passende Angebote ganz nach Ihren Anforderungen. Profitieren Sie von schnellen Zugriffszeiten, hoher Performance, Ausfallsicherheit und Datensicherheit nach deutschen Standards.

## Praktische Beispiele für SQL `MIN AND MAX`

Zur Veranschaulichung erklären wir Ihnen die Anwendung von SQL `MIN AND MAX` an praktischen Beispielen. Hierzu wählen wir **eine Tabelle mit Produkten und zugehörigen Preisen**. Kleiner Hinweis: Um in der Zieltabelle die Spalte für `MIN` oder `MAX` zu benennen, nutzen Sie in der Syntax den Alias AS mit dem gewünschten Spaltennamen.

Beispieltabelle:

<table>
  <thead>
    <tr>
      <th>Produkt</th>
      <th>Preis</th>
      <th>Kategorie</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Shampoo</td>
      <td>22,90 €</td>
      <td>Haare</td>
    </tr>
    <tr>
      <td>Handlotion</td>
      <td>45,99 €</td>
      <td>Hände</td>
    </tr>
    <tr>
      <td>Fußcreme</td>
      <td>11,99 €</td>
      <td>Füße</td>
    </tr>
    <tr>
      <td>Bodylotion</td>
      <td>9,99 €</td>
      <td>Körper</td>
    </tr>
  </tbody>
</table>

Möchten Sie jeweils das **Produkt mit dem niedrigsten oder höchsten Preis** in der Produkt-Tabelle ermitteln und als Einzelzeile ausgeben, sieht die Syntax wie folgt aus:

`MIN`:

```sql
SELECT  MIN(preis)  FROM  produkte;
```

`MAX`:

```sql
SELECT  MAX(preis)  FROM  produkte;
```

Möchten Sie beide Werte in der Zieltabelle ermitteln, nutzen Sie folgende Syntax und definieren mit dem Alias `AS` die Spalte mit Minimal- und Maximalwerten:

```sql
SELECT  MIN(preis)  AS  min_preis,  MAX(preis)  AS  max_preis  FROM  produkte
```

In Kombination **mit weiteren Befehlen und Parametern lässt sich Ihre Suchanfrage präzise eingrenzen** oder auf Kategorien beschränken. Möchten Sie Minimal- und Maximalwerte in einer Produktkategorie je nach Kategorie anzeigen, verwenden Sie zum Beispiel zusätzlich den SQL-Befehl `GROUP BY`:

```sql
SELECT  kategorie,
MIN(preis)  AS min_preis,  MAX(preis)  AS  max_preis
FROM  produkte
GROUP BY  kategorie
```

Sie erhalten in der Zieltabelle nun die jeweils niedrigsten und höchsten Werte, **sortiert nach den Kategorien** der Produkte.

In Verbindung mit SQL `HAVING` ermöglicht Ihnen `MIN AND MAX`, die ermittelten Werte **zusätzlich nach einer definierten Bedingung zu filtern**. So können Sie beispielsweise in einer Produkttabelle festlegen, dass Mindestwerte einer Kategorie nicht zur Ergebnismenge gehören sollen, wenn sie unter einem bestimmten Wert liegen. Die Syntax sieht in diesem Beispiel wie folgt aus:

```sql
SELECT  kategorie,
MAX(preis)  AS  max_preis
FROM  produkte
GROUP BY  kategorie
HAVING MIN(preis)>10;
```

In unserer Beispieltabelle würde somit die Bodylotion mit 9,99 € nicht zur Zieltabelle gehören.

## Alternativen zu SQL `MIN AND MAX`

Da es sich bei SQL `MIN AND MAX` um eine der **SQL-Aggregatfunktionen** handelt, bieten sich für die Ermittlung aggregierter Werte weitere ähnliche Funktionen an. Dazu zählen:

- `AVG`: Mit [SQL AVG](https://www.ionos.de/digitalguide/server/konfiguration/sql-avg/) filtern Sie Durchschnittswerte ausgewählter Tabellen oder Spalten beispielsweise die Durchschnittstemperaturen von Monaten in einem Jahr.
- `COUNT`: Mit [SQL COUNT](https://www.ionos.de/digitalguide/server/konfiguration/sql-count/) zählen Sie die Anzahl der Datensätze einer ausgewählten Tabelle oder Spalte.
- `SUM`: Mit [SQL SUM](https://www.ionos.de/digitalguide/server/konfiguration/sql-sum/) erhalten Sie die Summe aller Werte in einer ausgewählten Spalte.
- `BETWEEN`: Mit [SQL BETWEEN](https://www.ionos.de/digitalguide/server/konfiguration/sql-between/) analysieren Sie Daten in einem festgelegten Wertebereich.
- `LIKE`: Der Operator [SQL LIKE](https://www.ionos.de/digitalguide/server/konfiguration/sql-like/) liefert numerische Werte oder Zeichenketten, die einem vordefinierten Muster mit oder ohne Platzhalter entsprechen.


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