Fonctions dagrégation dans SQL et leur utilisation

Fonctions dagrégation dans SQL et leur utilisation

Dans ce didacticiel, nous discuterons des différentes fonctions d'agrégation dans SQL et de la manière dont nous pouvons les utiliser. Dans SQL, les fonctions d'agrégat sont utilisées pour accumuler des données de plusieurs lignes dans une seule ligne récapitulative. 

Les fonctions d'agrégation dans SQL peuvent être très utiles pour les analystes lors de la synthèse des données.

Table des matières

Fonctions d'agrégation couramment utilisées en SQL

Vous trouverez ci-dessous quelques-unes des fonctions d'agrégation couramment utilisées dans SQL .

Fonctions d'agrégation dans SQL et leur utilisation

Notez que les fonctions et sont couramment utilisées dans les devises ou les valeurs entières. La fonction AVG renvoie non seulement la moyenne mais également la moyenne d'une colonne. De plus, la fonction d'agrégation est la seule qui n'ignore pas les valeurs nulles lors de l'exécution des calculs.

Faisons quelques exemples de commandes en utilisant nos cinq fonctions d'agrégation avec l'exemple de tableau ci-dessous.

Fonctions d'agrégation dans SQL et leur utilisation

Commençons par créer une commande à l'aide de la fonction MAX . Supposons que nous voulions trouver le produit ayant la valeur la plus élevée dans la colonne ProductName. Notre commande devrait ressembler à l'image ci-dessous.

Fonctions d'agrégation dans SQL et leur utilisation

Puisque nous recherchons le produit ayant la valeur la plus élevée, nous devons obtenir leurs prix, qui se trouvent sous la colonne ProductPrice . Mettez toujours un alias pour donner un nom à la colonne de sortie. Si nous exécutons cette commande, elle nous montrera le produit ayant la valeur la plus élevée avec une seule valeur. 

Ensuite, faisons une commande en utilisant la fonction MIN . Étant donné que la fonction MIN est quelque peu similaire à la fonction MAX , nous utiliserons simplement le même exemple que celui que nous avons utilisé dans la fonction MAX mais cette fois, nous trouverons le produit de valeur la plus faible.

Fonctions d'agrégation dans SQL et leur utilisation

Lorsque nous exécutons cette commande, elle récupère le produit ayant la valeur la plus faible dans notre exemple de table.

Maintenant, faisons une commande en utilisant la fonction COUNT . Disons que nous voulons trouver la quantité de produits sous la colonne ProductID . Notre commande devrait ressembler à l'image ci-dessous.

Fonctions d'agrégation dans SQL et leur utilisation

Si nous exécutons cette commande, elle nous montrera la quantité de chaque produit sous la colonne ProductID et leur prix respectif.

Fonctions d'agrégation et clause GROUP BY

Voyons maintenant comment nous pouvons utiliser plusieurs colonnes avec des fonctions d'agrégation . Pour ce faire, nous devons utiliser la clause GROUP BY .

La fonction GROUP BY est principalement utilisée dans les fonctions d'agrégation car elle renvoie un enregistrement de chaque groupe. En outre, toutes les colonnes de l'instruction SELECT, même sans agrégat, doivent toujours être incluses.

Voyons comment nous allons utiliser les fonctions d'agrégation avec la clause GROUP BY avec notre exemple de tableau ci-dessous.

Fonctions d'agrégation dans SQL et leur utilisation

Essayons d'abord d'exécuter une commande sans utiliser la clause GROUP BY pour voir la différence. Trouvons le montant total de SaleAmount dans la colonne ProductName . Notre commande devrait ressembler à l'image ci-dessous.

Fonctions d'agrégation dans SQL et leur utilisation

Comme vous l'avez remarqué, la commande est similaire aux exemples précédents que nous avons mentionnés au début de ce didacticiel. Une fois que nous avons exécuté cette commande, elle calculera simplement le montant total sous la colonne SaleAmount , qui sera 28 .

Maintenant, prenons un autre exemple utilisant la clause GROUP BY

Fonctions d'agrégation dans SQL et leur utilisation

Puisque nous utilisons la clause GROUP BY , nous pouvons désormais utiliser plusieurs colonnes. Cette fois, nous voulons voir le montant total de la vente par catégorie.

La clause GROUP BY s'assurera que le résultat affichera une somme des ventes pour chaque catégorie et si elle est exécutée, le résultat sera l'image ci-dessous.

Dans cet exemple, il est important d'utiliser la clause GROUP BY car sinon, une erreur se produira. Cela est dû au fait que la catégorie n'est pas contenue dans une clause GROUP BY ou une fonction d'agrégation.

Fonctions d'agrégation dans SQL et leur utilisation

Prenons le même exemple, mais cette fois, nous obtiendrons également le montant total de SaleAmount par ProductName . Notre commande devrait ressembler à l'image ci-dessous.

Fonctions d'agrégation dans SQL et leur utilisation

Une fois que nous exécutons notre commande, le résultat affichera la somme des ventes par Category et par ProductName .

Fonctions d'agrégation dans SQL et leur utilisation

N'oubliez pas que vous ne pouvez pas utiliser ou accéder à plusieurs colonnes sans utiliser la clause GROUP BY car si vous le faites, cela provoquera une erreur une fois que vous aurez exécuté votre commande.

Fonctions d'agrégation dans SQL Server Management Studio (SSMS)

Voyons maintenant comment utiliser les fonctions d'agrégation dans SQL Server Management Studio . Nous utiliserons le tableau ci-dessous dans nos exemples.

Fonctions d'agrégation dans SQL et leur utilisation

Nous avons 31 465 lignes de données dans notre table SalesOrderHeader . Pour notre premier exemple, nous allons montrer comment nous pouvons utiliser la fonction COUNT en comptant les lignes de notre table. Notre commande devrait ressembler à l'image ci-dessous.

Fonctions d'agrégation dans SQL et leur utilisation

Nous avons compté avec succès toutes les lignes qu'il y a dans notre SalesOrderHeader et l'avons nommé countofrows . Une fois que nous exécutons cette commande, nous aurons un résultat de 31 465 lignes .

Revenons à notre jeu de données. Tout en utilisant la même fonction d'agrégation , comptons le nombre de SalesPersonID dans notre table. Notre commande devrait être :

Fonctions d'agrégation dans SQL et leur utilisation

Lorsque nous exécutons notre commande, elle récupère spécifiquement les données sous la colonne SalesPersonsID et nous donne une colonne nommée countofsalespersons avec le résultat 3806 .

Fonctions d'agrégation dans SQL et leur utilisation

Utilisation de fonctions d'agrégation dans une seule requête

Passons à autre chose, discutons de la façon dont nous pouvons utiliser plusieurs fonctions d'agrégation dans une seule requête. Nous utiliserons les fonctions SUM , AVG et MAX pour agréger nos colonnes TotalDue et TaxAmt

Fonctions d'agrégation dans SQL et leur utilisation

Nous pouvons utiliser plusieurs fonctions d'agrégation dans une seule requête en plaçant une virgule après chaque fonction. 

Fonctions d'agrégation dans SQL et leur utilisation

Une fois que nous avons exécuté cette commande, notre résultat devrait ressembler à l'image ci-dessous. 

Fonctions d'agrégation dans SQL et leur utilisation

Maintenant, nous pouvons voir les différentes colonnes avec leur valeur respective en utilisant plusieurs fonctions d'agrégation

Essayons d'exécuter une commande où elle provoquera une erreur pour souligner pourquoi nous devrions utiliser la clause GROUP BY lors de la sélection des colonnes. Nous utiliserons le même exemple en utilisant plusieurs fonctions mais cette fois nous sélectionnerons CustomerID .

Fonctions d'agrégation dans SQL et leur utilisation

Comme vous pouvez le voir, il indique que la commande n'est pas valide car CustomerID n'est contenu ni dans la fonction d'agrégat ni dans la clause GROUP BY .

Exemple de scénario avec la clause GROUP BY

Pour notre prochain exemple, corrigeons notre erreur en fournissant la clause GROUP BY dans notre commande.

Fonctions d'agrégation dans SQL et leur utilisation

Nous venons d'ajouter CustomerID dans une clause GROUP BY et nous pouvons maintenant voir la somme, la moyenne et la valeur maximale de nos TotalDue et TaxAmt par CustomerID. Nous pouvons également voir que nous avons un total de 19119 lignes .

Prenons notre dernier exemple en expliquant pourquoi il est important pour nous de nous assurer que les colonnes et les expressions non agrégées sont incluses dans la clause GROUP BY .

Dans notre table SalesOrderHeader , nous avons la colonne OrderDate . Disons que nous voulons obtenir la somme de TotalDue par année. Si nous n'indiquons pas toutes les colonnes et expressions non agrégées, nous devons utiliser la commande de l'image ci-dessous.

Fonctions d'agrégation dans SQL et leur utilisation

Remarquez comment nous pouvons obtenir un résultat plutôt qu'une erreur. Cependant, nous avons plusieurs rapports pour la même année alors que notre objectif est de résumer les rapports en une valeur spécifique par an.

Pour corriger notre erreur, nous devons nous assurer que nous incluons également l'expression dans notre clause GROUP BY . Notre nouvelle commande devrait être :

Fonctions d'agrégation dans SQL et leur utilisation

Après avoir exécuté la commande, nous pouvons voir que nous avons réussi à obtenir la somme de OrderDate par an. 

Clause HAVING dans SQL Aggregate Functions
Procédures stockées dans SQL | Une vue d'ensemble
des moyens efficaces d'utiliser la fonction GROUPBY dans LuckyTemplates

Conclusion

Pour résumer, vous avez appris certaines des connaissances de base concernant l'utilisation des fonctions d'agrégation dans SQL. Les fonctions d'agrégation peuvent être idéales lorsque vous travaillez avec des rapports ou des ensembles de données volumineux, car elles offrent un confort aux analystes lors de l'analyse et de la synthèse des données. 

J'espère que ce didacticiel peut vous aider à mieux vous entraîner à utiliser différentes fonctions d'agrégation dans SQL. Si vous souhaitez en savoir plus sur ce sujet et d'autres contenus connexes, vous pouvez certainement consulter la liste des liens pertinents ci-dessous.

Tous mes vœux,

Hafiz


Quest-ce que le self en Python ? Exemples concrets

Quest-ce que le self en Python ? Exemples concrets

Qu'est-ce que le self en Python ? Exemples concrets

Comment enregistrer et charger un fichier RDS dans R

Comment enregistrer et charger un fichier RDS dans R

Vous apprendrez à enregistrer et à charger des objets à partir d'un fichier .rds dans R. Ce blog expliquera également comment importer des objets de R vers LuckyTemplates.

First N Business Days Revisited - Une solution de langage de codage DAX

First N Business Days Revisited - Une solution de langage de codage DAX

Dans ce didacticiel sur le langage de codage DAX, découvrez comment utiliser la fonction GENERATE et comment modifier dynamiquement le titre d'une mesure.

Présentez des informations à laide de la technique des visuels dynamiques multi-threads dans LuckyTemplates

Présentez des informations à laide de la technique des visuels dynamiques multi-threads dans LuckyTemplates

Ce didacticiel explique comment utiliser la technique Multi Threaded Dynamic Visuals pour créer des informations à partir de visualisations de données dynamiques dans vos rapports.

Introduction au filtrage du contexte dans LuckyTemplates

Introduction au filtrage du contexte dans LuckyTemplates

Dans cet article, je vais parcourir le contexte du filtre. Le contexte de filtrage est l'un des principaux sujets que tout utilisateur de LuckyTemplates doit d'abord connaître.

Meilleurs conseils pour utiliser les applications dans le service en ligne LuckyTemplates

Meilleurs conseils pour utiliser les applications dans le service en ligne LuckyTemplates

Je souhaite montrer comment le service en ligne LuckyTemplates Apps peut aider à gérer différents rapports et informations générés à partir de diverses sources.

Analyser les changements de marge bénéficiaire au fil du temps - Analytics avec LuckyTemplates et DAX

Analyser les changements de marge bénéficiaire au fil du temps - Analytics avec LuckyTemplates et DAX

Découvrez comment calculer les modifications de votre marge bénéficiaire à l'aide de techniques telles que la création de branches de mesure et la combinaison de formules DAX dans LuckyTemplates.

Idées de matérialisation pour les caches de données dans DAX Studio

Idées de matérialisation pour les caches de données dans DAX Studio

Ce didacticiel abordera les idées de matérialisation des caches de données et comment elles affectent les performances des DAX dans la fourniture de résultats.

Rapports dentreprise à laide de LuckyTemplates

Rapports dentreprise à laide de LuckyTemplates

Si vous utilisez encore Excel jusqu'à présent, c'est le meilleur moment pour commencer à utiliser LuckyTemplates pour vos besoins en matière de rapports commerciaux.

Quest-ce que la passerelle LuckyTemplates ? Tout ce que tu as besoin de savoir

Quest-ce que la passerelle LuckyTemplates ? Tout ce que tu as besoin de savoir

Qu'est-ce que la passerelle LuckyTemplates ? Tout ce que tu as besoin de savoir