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 :

SELECT vendeur, vente, AVG(vente) OVER (PARTITION PAR vendeur) AS media_sales 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 :

SELECT vendeur, sales_date, ventes, SUM(sales) OVER (PARTITION BY vendeur ORDER BY sales_date) AS cumulative_sum DE ventes ;

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 :

SELECT vendeur, sale_date, vente, AVG(sale) OVER (PARTITION PAR vendeur ORDER BY sale_date LIGNES ENTRE 2 LIGNES PRÉCÉDENTES ET ACTUELLE) AS media_mobile DE ventes ;

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 :

59Utiliser les fonctions système dans MySQL

4 minutes

Obtenez votre certificat pour ce cours gratuitement ! en téléchargeant lapplication Cursa et en lisant lebook qui sy trouve. Disponible sur Google Play ou App Store !

Get it on Google Play Get it on App Store

+ 6,5 millions
d'étudiants

Certificat gratuit et
valide avec QR Code

48 mille exercices
gratuits

Note de 4,8/5 dans les
magasins d'applications

Cours gratuits en
vidéo, audio et texte