Maison > base de données > tutoriel mysql > GROUP BY ou PARTITION BY : quelle est la principale différence dans les requêtes agrégées ?

GROUP BY ou PARTITION BY : quelle est la principale différence dans les requêtes agrégées ?

Susan Sarandon
Libérer: 2025-01-06 02:02:40
original
649 Les gens l'ont consulté

GROUP BY vs. PARTITION BY: What's the Key Difference in Aggregate Queries?

Distinguer PARTITION BY de GROUP BY

Lorsque vous travaillez avec des requêtes agrégées, GROUP BY est depuis longtemps une option familière pour rassembler des données. Cependant, l'émergence de PARTITION BY a introduit un concept similaire qui soulève des questions sur sa relation avec GROUP BY.

Comprendre le rôle de GROUP BY

GROUP BY opère à au niveau de la requête, transformant l'intégralité du résultat de la requête. En regroupant les lignes en fonction de colonnes spécifiques, il condense les données et calcule les valeurs globales (par exemple, nombre, moyenne, somme) pour chaque groupe. Par exemple :

select customerId, count(*) as orderCount
from Orders
group by customerId
Copier après la connexion

PARTITION BY : une perspective différente

Contrairement à GROUP BY, PARTITION BY est associée à des fonctions de fenêtre, telles que ROW_NUMBER(). Il fonctionne dans le cadre des calculs de fenêtres, modifiant la façon dont ces fonctions calculent leurs résultats. Prenons l'exemple suivant :

select row_number() over (partition by customerId order by orderId)
    as OrderNumberForThisCustomer
from Orders
Copier après la connexion

Différences clés à noter

  • Portée de l'impact : GROUP BY affecte l'intégralité du résultat de la requête , réduisant le nombre de lignes en consolidant les données, tandis que PARTITION BY fonctionne uniquement au sein d'une fonction de fenêtre, sans modifier le nombre de sorties lignes.
  • Agrégé ou non : GROUP BY facilite les calculs agrégés pour les données groupées, tandis que PARTITION BY n'effectue aucune opération d'agrégation.
  • Fenêtre Modification de fonction : PARTITION BY modifie le comportement des fonctions de fenêtre en indiquant comment les calculs doivent être effectués dans chaque partition.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal