SQLite
 sql >> Base de données >  >> RDS >> SQLite

Comment fonctionne SQLite Min()

Le SQLite min() La fonction renvoie la valeur minimale non NULL de toutes les valeurs d'un groupe.

La valeur minimale est la valeur qui apparaîtrait en premier dans une requête utilisant un ORDER BY clause sur la même colonne.

Exemple

Voici un exemple pour illustrer.

SELECT min(Price) FROM Products;

Résultat :

89.27

Voici une requête qui renvoie toutes les lignes de cette table.

SELECT * FROM Products 
ORDER BY Price;

Résultat :

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    

Notez que la première ligne a une valeur NULL pour le prix. Le min() La fonction ignore cela et utilise la valeur minimale non NULL.

Combiner Min() avec Count()

Voici un exemple qui combine le min() fonction avec le count() fonction pour renvoyer le nombre minimum.

SELECT min(AlbumCount) 
FROM (SELECT ArtistId, count(Title) AS AlbumCount
FROM Album
GROUP BY ArtistId);

Résultat :

1       

Nous pouvons le vérifier en exécutant une autre requête avec un ORDER BY clause.

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;

Résultat :

Name                            AlbumCount
------------------------------  ----------
Aaron Copland & London Symphon  1         
Aaron Goldberg                  1         
Academy of St. Martin in the F  1         

Combiner avec Max() et Avg()

Voici un autre exemple où j'ajoute le max() et avg() fonctions au mélange.

SELECT 
  min(AlbumCount),
  max(AlbumCount),
  avg(AlbumCount)
FROM (SELECT ArtistId, count(Title) AS AlbumCount
FROM Album
GROUP BY ArtistId);

Résultat :

min(AlbumCount)  max(AlbumCount)  avg(AlbumCount) 
---------------  ---------------  ----------------
1                21               1.70098039215686

Utiliser Min() sur les chaînes

Comme mentionné, min() renvoie la valeur qui serait renvoyée en premier en utilisant le ORDER BY clause (en supposant qu'elle utilise l'ordre croissant par défaut).

Ce même concept s'applique aux chaînes.

SELECT min(ProductName) FROM Products;

Résultat :

Blue Widgets (6 Pack)

Nous pouvons vérifier ce résultat avec une requête utilisant le ORDER BY clause.

SELECT * FROM Products 
ORDER BY ProductName;

Résultat :

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