Syntaxe
|
MIN(expression) [OVER (...)]
|
Paramètres
| Nom |
Description |
| expression |
Ce paramètre permet de spécifier la colonne, le champ ou le calcul numérique (ou autre type de données comparable) pour lequel vous souhaitez trouver la valeur minimale. La fonction MIN renverra la valeur la plus basse parmi toutes les valeurs non-NULL de cette expression au sein du groupe ou de la partition. |
| OVER (...) |
Ce paramètre facultatif permet de définir une fenêtre d'analyse pour la fonction MIN lorsqu'elle est utilisée comme fonction de fenêtre. Il permet de spécifier un partitionnement (PARTITION BY) et/ou un ordonnancement (ORDER BY) des données, afin que la fonction MIN soit calculée sur un sous-ensemble spécifique de lignes, plutôt que sur l'ensemble de la table ou du groupe. |
Description
Cette fonction permet de demander la valeur la plus petite dans une expression spécifiée.
Remarques
- Fonction d'agrégation permettant d'identifier la plus petite valeur : MIN permet de calculer la valeur minimale parmi un ensemble de données, qu'il
s'agisse de nombres, de dates, ou de chaînes de caractères. Elle ne tient compte que des valeurs non-NULL, ce qui garantit un résultat pertinent même avec des
données partielles.
- Fonction compatible avec de nombreux types de données : L'expression passée à MIN peut être de type numérique, date, chaîne de caractères ou booléen.
Par exemple, pour des chaînes, MIN renverra la valeur lexicographiquement la plus petite, ce qui peut être utile pour trier ou rechercher un élément alphabétique de
référence.
- Utilisable en fonction d'agrégation ou de fenêtre : En mode agrégé, MIN regroupe les lignes et retourne une seule valeur minimale par groupe. En mode
fenêtre (grâce à la clause OVER (...)), elle permet de calculer dynamiquement le minimum dans un sous-ensemble de lignes, tout en conservant chaque ligne de l'ensemble
de données.
- La clause OVER offre une grande souplesse analytique : L'option OVER (...) permet de partitionner et d'ordonner les données pour calculer le minimum
dans une fenêtre glissante ou par sous-groupe logique (PARTITION BY). Cela permet de répondre à des besoins complexes comme le suivi du plus petit score par
utilisateur ou par période.
- Ignore automatiquement les valeurs NULL : Par défaut, la fonction MIN ignore les valeurs NULL lors du calcul. Cela évite des erreurs ou des biais liés
à des champs manquants et permet de ne pas perturber les statistiques produites par des données incomplètes.
- Fonction très utilisée en reporting et tableaux de bord : MIN est couramment utilisée dans les rapports de performance, les bilans financiers, ou
les dashboards opérationnels pour afficher des seuils, des dates de début, ou des valeurs minimales d'un indicateur clef.
- Attention au contexte lexicographique avec des chaînes : Lorsqu'on applique MIN à une colonne de type STRING, la comparaison se fait selon l'ordre
alphabétique. Ainsi, MIN("zebra", "apple", "lion") retourne "apple", ce qui peut surprendre si l'on attend une logique numérique implicite.
- Souvent combinée avec d'autres fonctions analytiques : MIN peut être couplée à des fonctions comme FIRST_VALUE, RANK, QUALIFY, ou des jointures pour
extraire la ligne associée à la valeur minimale. Cela permet, par exemple, de retrouver la commande la plus ancienne ou le plus petit montant par client.
Dernière mise à jour : Jeudi, le 18 Juin 2020