Dans MariaDB, MIN()
est une fonction d'agrégation qui renvoie la valeur minimale dans une expression donnée.
Syntaxe
La syntaxe ressemble à ceci :
MIN([DISTINCT] expr)
Exemple de données
Supposons que nous ayons un tableau avec les données suivantes :
SELECT
VendorId,
ProductName,
ProductPrice
FROM Products;
Résultat :
+----------+---------------------------------+--------------+ | VendorId | ProductName | ProductPrice | +----------+---------------------------------+--------------+ | 1001 | Left handed screwdriver | 25.99 | | 1001 | Right handed screwdriver | 25.99 | | 1001 | Long Weight (blue) | 14.75 | | 1001 | Long Weight (green) | 11.99 | | 1002 | Sledge Hammer | 33.49 | | 1003 | Chainsaw | 245.00 | | 1003 | Straw Dog Box | 55.99 | | 1004 | Bottomless Coffee Mugs (4 Pack) | 9.99 | +----------+---------------------------------+--------------+
Exemple
Nous pouvons utiliser la requête suivante pour obtenir le prix minimum à partir de cette table.
SELECT MIN(ProductPrice)
FROM Products;
Résultat :
9.99
Dans ce cas, les informations de prix sont stockées dans le ProductPrice
colonne, et nous la passons donc comme argument au MIN()
fonction, qui calcule ensuite et renvoie le résultat.
Résultats filtrés
Le MIN()
La fonction opère sur les lignes renvoyées par la requête. Donc, si vous filtrez les résultats, la sortie de MIN()
reflétera cela.
SELECT MIN(ProductPrice)
FROM Products
WHERE VendorId = 1001;
Résultat :
11.99
Dans ce cas, 11,99 est le prix minimum de tous les produits proposés par le fournisseur spécifié.
Données de date/heure
Vous pouvez utiliser MIN()
sur les valeurs de date/heure.
Supposons que nous ayons le tableau suivant :
SELECT PetName, DOB
FROM Pets;
Résultat :
+---------+------------+ | PetName | DOB | +---------+------------+ | Fluffy | 2020-11-20 | | Fetch | 2019-08-16 | | Scratch | 2018-10-01 | | Wag | 2020-03-15 | | Tweet | 2020-11-28 | | Fluffy | 2020-09-17 | | Bark | NULL | | Meow | NULL | +---------+------------+
Nous pouvons utiliser MIN()
pour trouver la date de naissance minimum (DOB
).
SELECT MIN(DOB)
FROM Pets;
Résultat :
2018-10-01
Ce serait la date de naissance de l'animal le plus âgé.
NULL
Valeurs
Le MIN()
la fonction ignore tout NULL
valeurs. Dans notre exemple de tableau ci-dessus, les deux dernières lignes contiennent NULL
valeurs dans leur DOB
colonne, mais ils ont été ignorés dans notre MIN()
exemple.
Données de personnage
Lorsqu'il est utilisé avec des colonnes de données de caractères, MIN()
trouve la valeur la plus basse dans la séquence de classement.
Exemple :
SELECT MIN(ProductName)
FROM Products;
Résultat :
Bottomless Coffee Mugs (4 Pack)
Le DISTINCT
Mot clé
Le DISTINCT
le mot-clé peut être utilisé avec le MIN()
fonction, cependant, cela produit le même résultat que d'omettre DISTINCT
. Autoriser le DISTINCT
permet à MariaDB de se conformer à la norme ISO SQL.
Par conséquent, nous pouvons faire ceci :
SELECT MIN(DISTINCT ProductPrice)
FROM Products;
Résultat :
9.99
Mais cela n'a aucun impact sur les résultats.
Le DISTINCT
le mot-clé peut être très utile lorsqu'il est utilisé avec d'autres contextes (par exemple avec le COUNT()
fonction), mais elle n'a aucune signification lorsqu'elle est utilisée avec MIN()
. Le DISTINCT
le mot-clé supprime les doublons, mais dans le cas de MIN()
cela ne fera aucune différence car MIN()
renvoie le même résultat quel que soit le nombre de lignes partageant la même valeur minimale.
Fonctions de la fenêtre
Le MIN()
la fonction peut être utilisée en conjonction avec le OVER
clause pour créer une fonction de fenêtre.
Voir SQL MIN()
Pour les débutants pour un exemple.