Utiliser les fonctions de fenêtre dans MySQL
Page 58 | Écouter en audio
MySQL est un système de gestion de base de données relationnelle (SGBDR) qui utilise SQL (Structured Query Language) pour accéder, ajouter ou gérer le contenu d'une base de données. L'une des fonctionnalités les plus puissantes de MySQL est la possibilité d'utiliser des fonctions de fenêtre pour effectuer des calculs complexes sur un ensemble de résultats.
Les fonctions de fenêtre dans MySQL sont utilisées pour effectuer des opérations sur un ensemble de lignes dans une table qui sont d'une manière ou d'une autre liées à la ligne actuelle. On les appelle fonctions de fenêtre car elles opèrent sur un « cadre » de lignes - comme une fenêtre coulissante - qui est lié à la ligne actuelle.
Les fonctions de fenêtre peuvent être utilisées pour résoudre des problèmes qui seraient autrement difficiles à résoudre avec des requêtes SQL traditionnelles. Par exemple, ils peuvent être utilisés pour calculer des moyennes mobiles, des sommes cumulées, des classements et d'autres statistiques complexes.
Pour utiliser une fonction de fenêtre dans MySQL, vous devez utiliser la syntaxe OVER(), qui spécifie l'ensemble de lignes sur lesquelles la fonction de fenêtre opérera. Par exemple, la requête SQL suivante utilise la fonction de fenêtre AVG() pour calculer les ventes moyennes de chaque vendeur dans une table de ventes :
Dans cet exemple, la fonction de fenêtre AVG() calcule les ventes moyennes de chaque vendeur. La clause PARTITION BY vendeur divise la table des ventes en partitions par vendeur, et la fonction de fenêtre AVG() est appliquée à chaque partition séparément.
Les fonctions de fenêtre peuvent également être utilisées avec la clause ORDER BY pour calculer des statistiques qui dépendent de l'ordre des lignes. Par exemple, la requête SQL suivante utilise la fonction de fenêtre SUM() pour calculer la somme cumulée des ventes pour chaque vendeur, triée par date de vente :
Dans cet exemple, la fonction fenêtre SUM() calcule la somme cumulée des ventes pour chaque vendeur. La clause PARTITION BY vendeur divise la table des ventes en partitions par vendeur, et la fonction de fenêtre SUM() est appliquée à chaque partition séparément, dans l'ordre sales_date.
Les fonctions de fenêtre peuvent également être utilisées avec la clause ROWS BETWEEN pour spécifier un cadre de ligne spécifique sur lequel la fonction de fenêtre doit opérer. Par exemple, la requête SQL suivante utilise la fonction de fenêtre AVG() pour calculer la moyenne mobile des ventes de chaque vendeur, sur une période de 3 jours :
Dans cet exemple, la fonction de fenêtre AVG() calcule la moyenne mobile des ventes pour chaque vendeur. La clause PARTITION BY vendeur divise la table des ventes en partitions par vendeur, et la fonction de fenêtre AVG() est appliquée à chaque partition séparément, en utilisant une période de 3 jours (la ligne actuelle et les 2 lignes précédentes).
En résumé, les fonctions de fenêtre de MySQL sont un outil puissant qui vous permet d'effectuer des calculs complexes sur un ensemble de résultats. Ils peuvent être utilisés pour résoudre des problèmes qui seraient difficiles à résoudre avec des requêtes SQL traditionnelles, et ils constituent un ajout précieux à la boîte à outils de tout développeur de bases de données.
Répondez maintenant à l’exercice sur le contenu :
Laquelle des affirmations suivantes est vraie à propos des fonctions de fenêtre dans MySQL ?
Tu as raison! Félicitations, passez maintenant à la page suivante
Vous avez raté! Essayer à nouveau.
Page suivante de lebook gratuit :