SQLite min() функцията връща минималната стойност, различна от NULL от всички стойности в група.
Минималната стойност е стойността, която ще се появи първа в заявка, която използва ORDER BY клауза в същата колона.
Пример
Ето пример за демонстрация.
SELECT min(Price) FROM Products; Резултат:
89.27
Ето заявка, която връща всички редове в тази таблица.
SELECT * FROM Products
ORDER BY Price; Резултат:
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
Забележете, че първият ред има стойност NULL за цената. min() функцията игнорира това и използва минималната стойност, различна от NULL.
Комбинирайте Min() с Count()
Ето пример, който комбинира min() функция с count() функция за връщане на минималния брой.
SELECT min(AlbumCount)
FROM (SELECT ArtistId, count(Title) AS AlbumCount
FROM Album
GROUP BY ArtistId); Резултат:
1
Можем да проверим това, като изпълним друга заявка с ORDER BY клауза.
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; Резултат:
Name AlbumCount ------------------------------ ---------- Aaron Copland & London Symphon 1 Aaron Goldberg 1 Academy of St. Martin in the F 1
Комбинирайте с Max() и Avg()
Ето още един пример, в който добавям max() и avg() функции към микса.
SELECT
min(AlbumCount),
max(AlbumCount),
avg(AlbumCount)
FROM (SELECT ArtistId, count(Title) AS AlbumCount
FROM Album
GROUP BY ArtistId); Резултат:
min(AlbumCount) max(AlbumCount) avg(AlbumCount) --------------- --------------- ---------------- 1 21 1.70098039215686
Използване на Min() върху низове
Както споменахме, min() връща стойността, която ще бъде върната първа с помощта на ORDER BY клауза (ако приемем, че използва възходящ ред по подразбиране).
Същата концепция се отнася и за низовете.
SELECT min(ProductName) FROM Products; Резултат:
Blue Widgets (6 Pack)
Можем да проверим този резултат със заявка, използвайки ORDER BY клауза.
SELECT * FROM Products
ORDER BY ProductName; Резултат:
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