SQL Server nous fournit plusieurs fonctions d’agrégation qui peuvent être utilisées pour effectuer différents types de calculs sur un ensemble de valeurs, et retourner une seule valeur qui résume l’ensemble de données d’entrée. Ces fonctions D’agrégation SQL Server incluent AVG(), COUNT(), SUM (), MIN () et MAX ().

dans cet article, nous allons passer en revue L’utilisation de la fonction d’agrégation MAX() et fournir plusieurs exemples de L’utilisation de la fonction MAX ().,

utilisation

la fonction D’agrégation SQL MAX() est utilisée pour renvoyer la valeur maximale de l’expression numérique fournie ou la valeur la plus élevée dans la séquence de classement de l’expression de caractère fournie.,) fonction d’agrégation est comme:

1
MAX( expression )

Où l’option TOUS, qui est l’option par défaut, indique que le MAX() fonction d’agrégation sera appliqué à toutes les valeurs d’expression et l’DISTINCTES option indique que chaque valeur unique sera considéré dans la fonction d’agrégation, qui n’est pas applicable pour la (MAX) de la fonction.,

l’Expression ici peut être passée à la fonction d’agrégation MAX() peut être n’importe quelle colonne de table numérique, caractère, uniqueidentifier ou DateTime, étant donné que le type de données BIT ne peut pas être utilisé avec la fonction D’agrégation MAX ().

la fonction d’agrégation MAX() peut également prendre une valeur constante ou n’importe quelle expression arithmétique ou chaîne, en tenant compte du fait que la fonction d’agrégation MAX() ignorera toute valeur nulle dans l’expression d’entrée.,

la valeur renvoyée par la fonction D’agrégation SQL MAX() sera la même que le type de données D’Expression, et la valeur renvoyée sera NULL lorsque l’expression d’entrée n’a pas de lignes à lire.,

6
7
créer une TABLE MAXDemo
( id INT IDENTITY PRIMARY KEY,
EmpName NVARCHAR (100),
EmpDateOfBirth datetime,
empsalary decimal (6,2),
empisactive bit
)

Une Fois la table créée, nous remplirons cette table avec les données de test des tables de base de données de test Microsoft adventureworks2017, en utilisant le script T-SQL ci-dessous:

l’environnement de test est maintenant prêt avec une table de 316 enregistrements.,14″>

1
2
3

SELECT MAX(ID) COMME MaxID
DE MAXDemo
ALLER

Et la valeur retournée dans notre démo ici sera 316, qui est le dernier ID de l’employé, comme indiqué ci-dessous:

d’un Autre scénario où nous avons besoin de connaître le nom de l’employé qui se trouve à la fin de l’ordre alphabétique.,ollation, et retourne la dernière valeur, comme dans l’instruction T-SQL ci-dessous:

1
2
3
4

SELECT MAX(EmpName) COMME LastEmp
DE MAXDemo
ALLER

Dans notre cas ici, l’instruction SELECT SQL MAX() fonction d’agrégation sera de retour le dernier employé, après le tri des noms d’employés., Vous pouvez l’imaginer comme triant les noms descendant puis obtenant le nom de l’employé 1 supérieur, comme indiqué ci-dessous:

la fonction D’agrégation SQL MAX() peut également être utilisée avec le type de données DateTime, où elle triera les valeurs DateTime et renverra la dernière valeur des résultats triés. Dans notre scénario, nous devons obtenir le plus jeune employé avec la date de naissance la plus proche.,ggregate function, as in the T-SQL SELECT statement below:

1
2
3
4

SELECT MAX(EmpDateOfBirth) AS YoungestEmp
FROM MAXDemo
GO

The previous SELECT statement with the SQL MAX() aggregate function will sort the employees’ birthdate and return the latest birthdate value., Vous pouvez imaginer la fonction d’agrégation MAX () comme triant les valeurs de date de naissance des employés descendant puis obtenant la date de naissance 1 supérieure, comme indiqué ci-dessous:

La refonte de l’échelle des salaires des employés peut être vérifiée avec différents types de calculs et,v id= »cab9fbe5ad »>

1
2
3
4

select max(empisactive) as maxactive
from maxdemo
go

l’exécution de l’instruction SELECT échouera, avec une erreur message qui montre que le bit de type de données ne peut pas être utilisé avec l’opérateur max, où il ne fait aucune scène pour voir la valeur maximale d’une colonne de bits, qui n’a déjà que deux valeurs, 1 et 0., Le message d’erreur sera le suivant:

la fonction D’agrégation SQL MAX() peut également être utilisée dans la clause WHERE d’une simple requête SELECT., EmpIsActive = 1

la requête SELECT précédente renverra toutes les informations sur l’employé dont le salaire est le plus élevé dans le salaire de tous les employés, où elle calculera la valeur maximale des salaires des employés et comparera le salaire de chaque employé avec cette valeur, comme indiqué ci-dessous:

Nous pouvons également utiliser la fonction d’agrégation SQL Max() pour renvoyer la valeur maximale d’une colonne spécifique avec d’autres valeurs de colonne, où toutes les colonnes non agrégées doivent être répertoriées dans la clause GROUP BY.,/div>

1
sélectionnez MAX(AllowanceValue) comme MaxAllowance de MAXDemo

le résultat retourné sera NULL, car la table n’a pas de valeur dans cette colonne, comme indiqué ci-dessous:

conclusion

Il est clair à partir de ces exemples ci-dessus, comment utilisez la fonction d’agrégation SQL max() pour atteindre un objectif spécifique dans différents scénarios, avec différents types de données et dans n’importe quelle requête T-SQL.,

  • Author
  • Recent Posts
Ahmad Yaseen is a Microsoft Big Data engineer with deep knowledge and experience in SQL BI, SQL Server Database Administration and Development fields.
He is a Microsoft Certified Solution Expert in Data Management and Analytics, Microsoft Certified Solution Associate in SQL Database Administration and Development, Azure Developer Associate and Microsoft Certified Trainer.,
En outre, il contribue avec ses conseils SQL dans de nombreux blogs.
Afficher tous les articles par Ahmad Yaseen

Derniers messages par Ahmad Yaseen (voir tous)
  • Comment faire pour surveiller Azure Data Factory – 15 janvier 2021
  • Utilisation de la Source de Contrôle dans Azure Data Factory – 12 janvier 2021
  • à l’Aide de Modèles dans Azure Data Factory – 8 janvier 2021

Articles

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *