Maison > base de données > tutoriel mysql > Comment puis-je calculer les sommes cumulées dans MySQL ?

Comment puis-je calculer les sommes cumulées dans MySQL ?

Susan Sarandon
Libérer: 2025-01-22 09:58:39
original
611 Les gens l'ont consulté

How Can I Calculate Cumulative Sums in MySQL?

Créer une colonne de somme cumulée dans MySQL

Lors du traitement d'ensembles de données, il est souvent nécessaire de calculer la somme cumulée. Dans MySQL, cela peut être réalisé de plusieurs manières.

Utiliser la requête associée

Les requêtes associées impliquent de référencer des données provenant d'autres lignes dans la même requête. Pour créer une colonne de somme cumulée en utilisant cette méthode :

SELECT t.id,
       t.count,
       (SELECT SUM(x.count)
          FROM TABLE x
         WHERE x.id <= t.id) AS cumulative_sum
  FROM TABLE t
 ORDER BY t.id;
Copier après la connexion

Utiliser des variables MySQL

Les variables MySQL peuvent également être utilisées pour les calculs de sommes cumulées. Cela implique de déclarer une variable et de l'incrémenter dans la requête :

SELECT t.id,
       t.count,
       @running_total := @running_total + t.count AS cumulative_sum
  FROM TABLE t
  JOIN (SELECT @running_total := 0) r
 ORDER BY t.id;
Copier après la connexion

Notez que les jointures croisées (SELECT @running_total := 0) r sont utilisées pour déclarer des variables.

Remarques

  • Ces méthodes sont spécifiques à MySQL, ce qui signifie qu'elles peuvent ne pas fonctionner avec d'autres bases de données.
  • La clause
  • ORDER BY est cruciale, garantissant le bon ordre des calculs.
  • Les variables MySQL ont certaines limitations, comme le fait de ne pas être portables, et doivent être utilisées avec précaution dans des requêtes plus complexes.

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