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

Fonction MIN() dans MariaDB

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.