O SQLite
min()
A função retorna o valor mínimo não NULL de todos os valores em um grupo. O valor mínimo é o valor que apareceria primeiro em uma consulta que usa um
ORDER BY
cláusula na mesma coluna. Exemplo
Aqui está um exemplo para demonstrar.
SELECT min(Price) FROM Products;
Resultado:
89.27
Aqui está uma consulta que retorna todas as linhas dessa tabela.
SELECT * FROM Products
ORDER BY Price;
Resultado:
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
Observe que a primeira linha tem um valor NULL para o preço. O
min()
A função ignora isso e usa o valor mínimo não NULL. Combine Min() com Count()
Aqui está um exemplo que combina o
min()
função com o count()
função para retornar a contagem mínima. SELECT min(AlbumCount)
FROM (SELECT ArtistId, count(Title) AS AlbumCount
FROM Album
GROUP BY ArtistId);
Resultado:
1
Podemos verificar isso executando outra consulta com um
ORDER BY
cláusula. 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;
Resultado:
Name AlbumCount ------------------------------ ---------- Aaron Copland & London Symphon 1 Aaron Goldberg 1 Academy of St. Martin in the F 1
Combinar com Max() e Avg()
Aqui está outro exemplo onde eu adiciono o
max()
e avg()
funções à mistura. SELECT
min(AlbumCount),
max(AlbumCount),
avg(AlbumCount)
FROM (SELECT ArtistId, count(Title) AS AlbumCount
FROM Album
GROUP BY ArtistId);
Resultado:
min(AlbumCount) max(AlbumCount) avg(AlbumCount) --------------- --------------- ---------------- 1 21 1.70098039215686
Usando Min() em Strings
Como mencionado,
min()
retorna o valor que seria retornado primeiro usando o ORDER BY
cláusula (assumindo que está usando a ordem crescente padrão). Este mesmo conceito se aplica a strings.
SELECT min(ProductName) FROM Products;
Resultado:
Blue Widgets (6 Pack)
Podemos verificar esse resultado com uma consulta usando o
ORDER BY
cláusula. SELECT * FROM Products
ORDER BY ProductName;
Resultado:
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