Qu'est-ce qu'une fonction de fenêtrage en SQL ?
Une fonction de fenêtrage effectue un calcul sur un ensemble de lignes liées à la ligne courante, sans les fusionner en une seule, contrairement à une agrégation classique. Elle alimente les cumuls, les moyennes mobiles, les classements et les comparaisons d'une période à l'autre tout en renvoyant chaque ligne sous-jacente.
Là où une agrégation simple réduit de nombreuses lignes à une seule, une fonction de fenêtrage calcule sur une « fenêtre » de lignes mais conserve chaque ligne dans le résultat. C'est l'outil derrière de nombreuses questions analytiques.
Ce que permettent les fonctions de fenêtrage :
- Les cumuls le chiffre d'affaires cumulé au fil du temps.
- Les moyennes mobiles le lissage d'un indicateur bruité.
- Les classements les N meilleurs produits par catégorie à l'aide de RANK ou ROW_NUMBER.
- La comparaison d'une période à l'autre comparer chaque mois au précédent avec LAG ou LEAD.
Elles utilisent une clause OVER, avec en option PARTITION BY (réinitialisation par groupe) et ORDER BY (ordre au sein de la fenêtre). Puissantes, mais parmi les SQL les plus difficiles à écrire correctement.
De nombreuses questions analytiques réelles, « montre la croissance d'un mois sur l'autre », « classe les clients par dépenses au sein de chaque région », « une moyenne mobile sur 7 jours », requièrent des fonctions de fenêtrage en coulisses. iDBQuery les génère pour vous à partir du langage courant, de sorte que vous pouvez demander un cumul ou une liste classée sans connaître la syntaxe. Il exécute la requête sur vos données en direct et source le résultat jusqu'aux lignes d'origine, et comme il peut opérer sur des sources jointes, ces calculs de fenêtrage peuvent porter sur des données qui résidaient à l'origine dans des systèmes différents.
Updated 2026-06-22