De SQLite min()
functie retourneert de minimale niet-NULL-waarde van alle waarden in een groep.
De minimumwaarde is de waarde die als eerste zou verschijnen in een zoekopdracht die gebruikmaakt van een ORDER BY
clausule in dezelfde kolom.
Voorbeeld
Hier is een voorbeeld om te demonstreren.
SELECT min(Price) FROM Products;
Resultaat:
89.27
Hier is een zoekopdracht die alle rijen in die tabel retourneert.
SELECT * FROM Products
ORDER BY Price;
Resultaat:
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
Merk op dat de eerste rij een NULL-waarde heeft voor de prijs. De min()
functie negeert dat en gebruikt de minimale niet-NULL-waarde.
Combineer Min() met Count()
Hier is een voorbeeld dat de min()
. combineert functie met de count()
functie om het minimumaantal terug te geven.
SELECT min(AlbumCount)
FROM (SELECT ArtistId, count(Title) AS AlbumCount
FROM Album
GROUP BY ArtistId);
Resultaat:
1
We kunnen dit verifiëren door een andere zoekopdracht uit te voeren met een ORDER BY
clausule.
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;
Resultaat:
Name AlbumCount ------------------------------ ---------- Aaron Copland & London Symphon 1 Aaron Goldberg 1 Academy of St. Martin in the F 1
Combineer met Max() en Avg()
Hier is nog een voorbeeld waarbij ik de max()
. toevoeg en avg()
functies aan de mix.
SELECT
min(AlbumCount),
max(AlbumCount),
avg(AlbumCount)
FROM (SELECT ArtistId, count(Title) AS AlbumCount
FROM Album
GROUP BY ArtistId);
Resultaat:
min(AlbumCount) max(AlbumCount) avg(AlbumCount) --------------- --------------- ---------------- 1 21 1.70098039215686
Min() gebruiken op strings
Zoals vermeld, min()
geeft de waarde terug die als eerste zou worden geretourneerd met de ORDER BY
clausule (ervan uitgaande dat het de standaard oplopende volgorde gebruikt).
Ditzelfde concept is van toepassing op snaren.
SELECT min(ProductName) FROM Products;
Resultaat:
Blue Widgets (6 Pack)
We kunnen dit resultaat verifiëren met een zoekopdracht met de ORDER BY
clausule.
SELECT * FROM Products
ORDER BY ProductName;
Resultaat:
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