in

Pourquoi avez-vous besoin d’utiliser des ensembles de regroupement SQL pour agréger des données ? | Par Soner Yıldırım | Avr, 2023

[ad_1]
POURQUOI UTILISER LES GROUPING SETS SQL POUR AGRÉGER DES DONNÉES?

Le langage SQL est capable de bien plus que simplement interroger des bases de données. En effet, on peut également y effectuer des analyses et manipulations de données. Il est donc devenu un outil incontournable pour la communauté des scientifiques de données.

Cet article se focalisera sur les GROUPING SETS, une fonctionnalité très pratique du langage SQL qui permet d’écrire des requêtes plus claires et plus efficaces.

DIFFÉRENCE ENTRE GROUP BY ET GROUPING SETS

La fonctionnalité GROUP BY permet de calculer des agrégats par groupe ou des valeurs distinctes dans une ou plusieurs colonnes.

Voici un exemple simple : la requête pour afficher le prix moyen de chaque type de logement dans la base de données de Melbourne se présente ainsi:

SELECT type,AVG(price) AS avg_priceFROM melbGROUP BY type

Nous pouvons ajouter à cette requête un filtrage pour ne sélectionner que les logements du Nord de Melbourne :

SELECT regionname,AVG(price) AS avg_priceFROM melbWHERE regionname LIKE ‘Northern%’GROUP BY regionname

Mais que faire si on souhaite maintenant afficher le prix moyen de chaque type de logement dans la même table pour toutes les régions du Sud et de l’Est de Melbourne ? Nous pourrions écrire deux requêtes séparées et les fusionner avec UNION ALL :

SELECT regionname,’all’ AS type,AVG(price) AS average_priceFROM melbWHERE regionname LIKE ‘Eastern%’GROUP BY regionnameUNION ALLSELECT regionname,type,AVG(price) AS average_priceFROM melbWHERE regionname LIKE ‘Eastern%’GROUP BY regionname, typeORDER BY regionname, type

Mais si l’on utilise la fonction GROUPING SETS, une seule requête peut accomplir le même résultat :

SELECT regionname,type,AVG(price) as average_priceFROM melbWHERE regionname LIKE ‘Eastern%’GROUP BY GROUPING SETS ((regionname),(regionname, type))ORDER BY regionname, type

EMPLOI DE GROUP BY ET DE GROUPING SETS

Utiliser GROUPING SETS apporte deux avantages principaux :

C’est plus court et plus intuitif, ce qui facilite la gestion et le débogage du code.

C’est plus efficace et performant que d’écrire des requêtes séparées et de fusionner les résultats, car SQL parcourt les tables pour chaque requête.

Il est donc important de considérer à la fois la lisibilité et l’efficacité des requêtes SQL. Pour rendre les processus ETL (Extract Transform Load) évolutifs et faciles à gérer, il faut suivre les meilleures pratiques, comme l’utilisation des GROUPING SETS.

Sources :
– Article original : Why Do You Need to Use SQL Grouping Sets for Aggregating Data? | by Soner Yıldırım | Apr, 2023
– Kaggle dataset : Melbourne Housing Market
– Photo by Helena Lopes on Unsplash

[ad_2]

What do you think?

Written by Barbara

Leave a Reply

Your email address will not be published. Required fields are marked *

Discussion SQL

L’accord de règlement de Fox News transforme Dominion en un géant du capital-investissement privé.