MIN()
Aggregatfunktionen
MIN() liefert den kleinsten Wert einer Spalte. Bei Zahlen ist das der niedrigste Betrag, bei Datumsangaben das früheste Datum und bei Text der alphabetisch erste Wert. Typische Frage: „Was kostet das günstigste Produkt?“.
Syntax
SELECT MIN(Spalte) FROM Tabelle;
Beispiel: Günstigstes Produkt
SELECT MIN(Preis) AS GuenstigsterPreis FROM Produkte;
| GuenstigsterPreis |
|---|
| 10 |
Beispiel: Funktioniert auch mit Datum und Text
-- frühestes Bestelldatum SELECT MIN(Bestelldatum) AS ErsteBestellung FROM Bestellungen; -- alphabetisch erster Kundenname SELECT MIN(Name) AS ErsterName FROM Kunden;
Beispiel: MIN pro Gruppe
Mit GROUP BY bekommst du das Minimum je Gruppe – etwa den niedrigsten Preis pro Kategorie:
SELECT Kategorie, MIN(Preis) AS Guenstigstes FROM Produkte GROUP BY Kategorie;
| Kategorie | Guenstigstes |
|---|---|
| Büro | 10 |
| Technik | 25 |
Stolperfalle: nur der Wert, nicht die ganze Zeile
Eine häufige Verwirrung: SELECT MIN(Preis), Produktname FROM Produkte liefert nicht den Namen des günstigsten Produkts! Die Datenbank ermittelt das Minimum über alle Zeilen, weiß aber nicht, welcher Produktname dazugehört – das Ergebnis ist undefiniert oder ein Fehler. Willst du die komplette Zeile zum kleinsten Wert, nutze eine Unterabfrage oder Sortierung:
SELECT Produktname, Preis FROM Produkte ORDER BY Preis ASC LIMIT 1;
Hinweis: MIN() ignoriert NULL-Werte und liefert NULL, wenn die Tabelle leer ist.