Published on

April 15, 2025

Comprendre la fonction MAX() de SQL Server et ses cas d’utilisation

Dans ce tutoriel SQL, nous explorerons la fonction d’agrégation MAX() de Microsoft SQL Server et ses différents cas d’utilisation. La fonction MAX() est utilisée pour renvoyer la valeur maximale d’une expression spécifiée. Elle fait partie de la catégorie des fonctions d’agrégation dans SQL Server, qui effectuent des calculs sur un ensemble de valeurs et renvoient une seule valeur en sortie. Cette fonction ignore les valeurs NULL et renvoie NULL si aucune ligne n’est trouvée.

Commençons par examiner la syntaxe de la fonction MAX() :

SELECT MAX(colonne)
FROM table;

Nous pouvons utiliser la fonction MAX() en conjonction avec d’autres instructions SQL pour obtenir différents résultats. Explorons quelques cas d’utilisation :

Cas d’utilisation 1 : Cas d’utilisation simple

Dans ce cas d’utilisation, nous utiliserons la fonction MAX() pour récupérer la valeur la plus élevée ou maximale d’une colonne spécifique. Par exemple, nous pouvons utiliser la fonction MAX() pour trouver le prix de facture le plus élevé stocké dans une colonne :

SELECT MAX(prix) AS [FactureLaPlusÉlevée]
FROM DétailsCommande;

L’ensemble de résultats affichera le prix de facture le plus élevé, indépendamment de tout filtre appliqué.

Cas d’utilisation 2 : Utilisation de MAX() avec la clause WHERE

Dans ce cas d’utilisation, nous utiliserons la fonction MAX() en conjonction avec la clause WHERE pour filtrer les résultats en fonction de critères spécifiques. Par exemple, nous pouvons récupérer le prix de facture le plus élevé des mois spécifiques :

SELECT MAX(prix) AS [FactureLaPlusÉlevée]
FROM DétailsCommande
WHERE MoisFacture IN ('Mai', 'Juin', 'Juillet');

L’ensemble de résultats affichera maintenant le prix de facture le plus élevé des mois spécifiés.

Cas d’utilisation 3 : Utilisation de MAX() avec la clause GROUP BY

La fonction MAX() peut également être utilisée avec la clause GROUP BY pour regrouper les lignes ayant les mêmes valeurs et renvoyer le résultat. Par exemple, nous pouvons regrouper les prix de facture par mois et récupérer la facture la plus élevée de chaque mois :

SELECT MoisFacture, MAX(Prix) AS [FactureLaPlusÉlevée]
FROM DétailsCommande
GROUP BY MoisFacture;

L’ensemble de résultats affichera la facture la plus élevée de chaque mois.

Cas d’utilisation 4 : Utilisation de MAX() avec la clause HAVING

La clause HAVING est utilisée pour appliquer des filtres sur les fonctions d’agrégation. Dans ce cas d’utilisation, nous utiliserons la fonction MAX() avec la clause HAVING pour récupérer uniquement les mois ayant la facture la plus élevée supérieure à 4000 $ :

SELECT MoisFacture, MAX(Prix) AS [FactureLaPlusÉlevée]
FROM DétailsCommande
GROUP BY MoisFacture
HAVING MAX(prix) > 4000;

L’ensemble de résultats affichera uniquement les mois ayant la facture la plus élevée supérieure à 4000 $.

Cas d’utilisation 5 : Utilisation de MAX() avec d’autres fonctions d’agrégation

La fonction MAX() peut également être utilisée en conjonction avec d’autres fonctions d’agrégation telles que MIN, COUNT, AVG et SUM. Par exemple, nous pouvons récupérer la facture la plus élevée, la facture la plus basse, la facture totale, le nombre de factures et le coût moyen de facture à partir de la table DétailsCommande :

SELECT      
   MAX(Prix)   AS [FactureLaPlusÉlevée], 
   MIN(prix)   AS [FactureLaPlusBasse], 
   SUM(Prix)   AS [FactureTotale],
   COUNT(Prix) AS [NombreDeFactures],
   AVG(prix)   AS [CoûtMoyenDeFacture]
FROM DétailsCommande;

L’ensemble de résultats affichera la facture la plus élevée, la facture la plus basse, la facture totale, le nombre de factures et le coût moyen de facture.

Ce ne sont que quelques exemples de la façon dont la fonction MAX() de SQL Server peut être utilisée. En comprenant ses différents cas d’utilisation, vous pouvez exploiter cette fonction puissante pour obtenir des informations précieuses à partir de vos bases de données SQL Server.

Article mis à jour pour la dernière fois le : 2022-05-05

Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.