# SQL MIN and MAX : déterminer les valeurs minimales et maximales

En SQL, les fonctions `MIN` et `MAX` font partie des fonctions d’agrégation permettant d’**identifier les valeurs minimales et maximales** au sein des enregistrements, des tables et des colonnes. Ces fonctions sont utilisées pour améliorer les performances et accélérer les requêtes de données, facilitant ainsi une analyse efficace pour déceler des tendances, des anomalies ou des schémas spécifiques.

## SQL `MIN` and `MAX` : définition et signification

SQL `MIN` et `MAX` font partie des fonctions d’agrégation SQL. Elles effectuent des calculs sur des valeurs numériques ou des chaînes de caractères pour trouver une valeur unique. Selon la requête et les paramètres, ces fonctions permettent entre autres de trouver **les valeurs minimales et maximales** et de comparer les plus petites et les plus grandes valeurs dans les enregistrements, les tables, les colonnes ou les lignes.

Comme elles **accélèrent considérablement les analyses de données complexes**, les fonctions `MIN` et `MAX` sont devenues incontournables en SQL. Vous pouvez rapidement filtrer des tables de produits, de prix ou de coûts en fonction des valeurs minimales et maximales ou repérer des anomalies. Selon les paramètres optionnels et les requêtes de recherche, les fonctions peuvent être combinées avec d’autres [commandes SQL](https://www.ionos.fr/digitalguide/serveur/configuration/commandes-sql/) comme [SQL `WHERE`](https://www.ionos.fr/digitalguide/serveur/configuration/sql-where/), [SQL `JOIN`](https://www.ionos.fr/digitalguide/serveur/configuration/sql-joins/), `HAVING` ou `GROUP BY`.

Conseil Vous souhaitez en savoir plus sur [SQL](https://www.ionos.fr/digitalguide/serveur/know-how/definition-de-sql/), mais vous ne vous êtes pas encore familiarisé avec ce langage de programmation ? Dans ce cas, notre [introduction à SQL avec exemples](https://www.ionos.fr/digitalguide/serveur/configuration/introduction-a-sql-a-laide-dexemples/) vous donnera un premier aperçu.

## SQL `MIN` and `MAX` : voici à quoi ressemble la syntaxe

`MIN` et `MAX` conviennent **pour des requêtes de données simples**. Ces fonctions peuvent s’adapter à **des analyses plus complexes** lorsqu’elles sont utilisées en combinaison avec d’autres [opérateurs SQL](https://www.ionos.fr/digitalguide/serveur/configuration/les-operateurs-sql/).

La syntaxe est la suivante :

```sql
MIN(Colonne ou chaîne de caractères)
MAX(Colonne ou chaîne de caractères)
```

Si vous souhaitez appliquer les fonctions à des valeurs numériques sélectionnées dans vos enregistrements, combinez `MIN` et `MAX` avec les commandes **SQL `SELECT` et la clause `FROM`**. Avec celles-ci, vous sélectionnez la table souhaitée et les colonnes ou lignes concernées comme suit :

```sql
SELECT  MIN(Nom de la colonne ou chaîne de caractères) FROM Nom_de_la_table
MAX(Colonne ou chaîne de caractères) FROM Nom_de_la_table
```

Des paramètres et des commandes supplémentaires permettent de définir la requête avec précision. Il s’agit notamment de :

- `DISTINCT` : élimine les doublons et les lignes doubles lors des requêtes de données afin d’obtenir des listes uniques.
- `WHERE` : exclut certains enregistrements avant le filtrage avec `MIN` et `MAX` et se concentre uniquement sur les sous-ensembles souhaités.
- `GROUP BY` : regroupe les ensembles de données interrogés dans une ou plusieurs colonnes, par exemple par région ou par catégorie, et permet d’analyser les tendances ou les modèles.
- `HAVING` : filtre les résultats après l’agrégation des valeurs minimales et maximales, par exemple pour n’afficher que les résultats correspondant à certains critères.
- `BETWEEN` : en combinaison avec `MIN` et `MAX`, filtre les résultats selon certaines plages de valeurs.
- `JOIN` : permet d’agréger dans la table cible les valeurs minimales et maximales d’une ou de plusieurs tables.

## SQL `MIN` and `MAX` : quand peut-on utiliser ces fonctions ?

Les possibilités d’utilisation des fonctions SQL `MIN` et `MAX` sont presque illimitées, en particulier en combinaison avec d’autres paramètres. Les cas d’application possibles comprennent :

- Filtrer les prix les plus élevés et les plus bas dans les tables de produits
- Détermination des fichiers les plus grands et les plus petits
- Analyser les salaires des employés
- Afficher la fréquence des chaînes de caractères, des mots ou des valeurs dans un ensemble de données
- Détection d’anomalies lorsque des valeurs moyennes ou des seuils sont dépassés/non atteints
- Détecter les pics de performance ou les faiblesses de performance
- Déterminer des tendances à partir de moyennes et de rapports par région, équipe, catégorie de produits ou service
- Analyse des stocks et des produits
- Limitation de l’analyse des données pour les grands ensembles de données

Conseil Une gestion des données performante implique une solution d’hébergement adéquate pour les systèmes de gestion de bases de données. C’est ce que nous vous proposons chez IONOS avec l’[hébergement SQL](https://www.ionos.fr/cloud/hebergement-serveur-sql "Hébergement SQL pour les bases de données MSSQL, MySQL et MariaDB | IONOS") ! Nos offres s’adaptent à vos besoins pour que vous puissiez profiter de temps d’accès rapides, de performances élevées, de la sécurité contre les pannes et de la sécurité des données selon les normes strictes allemandes.

## SQL `MIN` and `MAX` : exemples pratiques

Pour illustrer l’utilisation des fonctions SQL `MIN` et `MAX`, nous vous présentons des exemples pratiques. Nous utiliserons une **table contenant des produits et leurs prix correspondants**. Notez qu’il est recommandé de nommer les colonnes résultantes pour `MIN` ou `MAX` en utilisant l’alias « AS » dans la syntaxe, afin de définir un nom de colonne clair et significatif.

Exemple :

<table>
  <thead>
    <tr>
      <th>Produit</th>
      <th>Prix</th>
      <th>Catégorie</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Shampooing</td>
      <td>22,90 €</td>
      <td>Cheveux</td>
    </tr>
    <tr>
      <td>Lotion pour les mains</td>
      <td>45,99 €</td>
      <td>Mains</td>
    </tr>
    <tr>
      <td>Crème pour les pieds</td>
      <td>11,99 €</td>
      <td>Pieds</td>
    </tr>
    <tr>
      <td>Lotion pour le corps</td>
      <td>9,99 €</td>
      <td>Corps</td>
    </tr>
  </tbody>
</table>

Si vous souhaitez déterminer le **produit avec le prix le plus bas ou le plus élevé** dans la table des produits et l’éditer sous forme de ligne individuelle, la syntaxe est la suivante :

Pour `MIN` :

```sql
SELECT  MIN(prix)  FROM  produits;
```

Pour `MAX` :

```sql
SELECT  MAX(prix)  FROM  produits;
```

Si vous souhaitez déterminer les deux valeurs dans la table cible, utilisez la syntaxe suivante et définissez la colonne avec les valeurs minimales et maximales avec l’alias `AS` :

```sql
SELECT  MIN(prix)  AS  prix_min,  MAX(prix)  AS  prix_max  FROM  produits
```

En combinaison **avec d’autres commandes et paramètres, il est possible de limiter votre recherche de manière précise** ou de la restreindre à des catégories. Si vous souhaitez afficher les valeurs minimales et maximales dans une catégorie de produits selon la catégorie, utilisez par exemple en plus la commande SQL `GROUP BY` :

```sql
SELECT  catégorie,
MIN(prix)  AS  prix_min,  MAX(prix)  AS  prix_max
FROM  produits
GROUP BY  catégorie
```

Vous obtenez maintenant dans la table cible les valeurs les plus basses et les plus hautes, **triées selon les catégories** des produits.

En combinaison avec SQL `HAVING`, `MIN` et `MAX` vous permettent de filtrer **en plus les valeurs obtenues selon une condition définie**. Par exemple, vous pouvez définir que les valeurs minimales d’une catégorie ne doivent pas faire partie du jeu de résultats si elles sont inférieures à une certaine valeur. Dans cet exemple, la syntaxe se présente comme suit :

```sql
SELECT  catégorie,
MAX(prix)  AS  max_prix
FROM  produits
GROUP BY  catégorie
HAVING MIN(prix)>10;
```

Dans notre exemple, la lotion corporelle à 9,99 € ne ferait donc pas partie de la table cible.

## Alternatives aux fonctions SQL `MIN` et `MAX`

En tant que **fonctions d’agrégation SQL**, `MIN` et `MAX` ont des alternatives similaires qui permettent de déterminer des valeurs agrégées. Parmi celles-ci, on trouve :

- `AVG` : avec [SQL AVG](https://www.ionos.fr/digitalguide/serveur/configuration/sql-avg/), vous pouvez calculer les valeurs moyennes des tables ou colonnes sélectionnées, par exemple les températures moyennes des mois d’une année.
- `COUNT` : [SQL COUNT](https://www.ionos.fr/digitalguide/serveur/configuration/sql-count/) permet de compter le nombre d’enregistrements dans une table ou une colonne sélectionnée.
- `SUM` : avec [SQL SUM](https://www.ionos.fr/digitalguide/serveur/configuration/sql-sum/), vous obtenez la somme de toutes les valeurs dans une colonne sélectionnée.
- `BETWEEN` : avec [SQL BETWEEN](https://www.ionos.fr/digitalguide/serveur/configuration/sql-between/), vous analysez les données dans une plage de valeurs définie.
- `LIKE` : l’opérateur [SQL LIKE](https://www.ionos.fr/digitalguide/serveur/configuration/sql-like/) renvoie des valeurs numériques ou des chaînes de caractères correspondant à un modèle prédéfini avec ou sans caractères de remplacement.


This is a markdown version of: [https://www.ionos.fr/digitalguide/serveur/configuration/sql-min-and-max/](https://www.ionos.fr/digitalguide/serveur/configuration/sql-min-and-max/) for AI/LLM consumption.