Das SQLite min()
Die Funktion gibt den kleinsten Nicht-NULL-Wert aus allen Werten in einer Gruppe zurück.
Der Mindestwert ist der Wert, der zuerst in einer Abfrage erscheinen würde, die einen ORDER BY
verwendet Klausel in derselben Spalte.
Beispiel
Hier ist ein Beispiel zur Veranschaulichung.
SELECT min(Price) FROM Products;
Ergebnis:
89.27
Hier ist eine Abfrage, die alle Zeilen in dieser Tabelle zurückgibt.
SELECT * FROM Products
ORDER BY Price;
Ergebnis:
ProductId ProductName Price ---------- ----------- ---------- 5 Red Widget 3 Widget Open 89.27 4 Foobar Set 120.0 2 Widget Hold 139.5 1 Blue Widget 389.45
Beachten Sie, dass die erste Zeile einen NULL-Wert für den Preis enthält. Der min()
Die Funktion ignoriert dies und verwendet den minimalen Nicht-NULL-Wert.
Kombiniere Min() mit Count()
Hier ist ein Beispiel, das min()
kombiniert Funktion mit dem count()
Funktion, um die Mindestanzahl zurückzugeben.
SELECT min(AlbumCount)
FROM (SELECT ArtistId, count(Title) AS AlbumCount
FROM Album
GROUP BY ArtistId);
Ergebnis:
1
Wir können dies überprüfen, indem wir eine weitere Abfrage mit einem ORDER BY
ausführen Klausel.
SELECT
ar.Name,
count(al.Title) AS AlbumCount
FROM Album al
INNER JOIN Artist ar
ON ar.ArtistId = al.ArtistId
GROUP BY ar.Name
ORDER BY AlbumCount ASC
LIMIT 3;
Ergebnis:
Name AlbumCount ------------------------------ ---------- Aaron Copland & London Symphon 1 Aaron Goldberg 1 Academy of St. Martin in the F 1
Kombiniere mit Max() und Avg()
Hier ist ein weiteres Beispiel, in dem ich max()
hinzufüge und avg()
Funktionen zum Mix.
SELECT
min(AlbumCount),
max(AlbumCount),
avg(AlbumCount)
FROM (SELECT ArtistId, count(Title) AS AlbumCount
FROM Album
GROUP BY ArtistId);
Ergebnis:
min(AlbumCount) max(AlbumCount) avg(AlbumCount) --------------- --------------- ---------------- 1 21 1.70098039215686
Verwenden von Min() auf Strings
Wie bereits erwähnt, min()
gibt den Wert zurück, der zuerst mit ORDER BY
zurückgegeben würde -Klausel (vorausgesetzt, es wird die standardmäßige aufsteigende Reihenfolge verwendet).
Dasselbe Konzept gilt für Strings.
SELECT min(ProductName) FROM Products;
Ergebnis:
Blue Widgets (6 Pack)
Wir können dieses Ergebnis mit einer Abfrage mit dem ORDER BY
überprüfen Klausel.
SELECT * FROM Products
ORDER BY ProductName;
Ergebnis:
ProductId ProductName Price ---------- --------------------- ---------- 1 Blue Widgets (6 Pack) 389.45 4 Foobar Set 120.0 5 Red Widget 2 Widget Holder 139.5 3 Widget Opener 89.27