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

Comment puis-je calculer les totaux cumulés dans MySQL ?

Susan Sarandon
Libérer: 2025-01-22 06:31:12
original
612 Les gens l'ont consulté

How Can I Calculate Running Totals in MySQL?

Calcul du total d'exécution MySQL : solution complète

Dans MySQL, le calcul d'un total cumulé pour un ensemble de données donné peut être réalisé de manière simple. Pour ce faire, considérons la requête suivante :

<code class="language-sql">SELECT DAYOFYEAR(`date`) AS d, COUNT(*)
FROM `orders`
WHERE `hasPaid` > 0
GROUP BY d
ORDER BY d</code>
Copier après la connexion

Cette requête renvoie un tableau avec la colonne (d) pour le jour de l'année et le nombre correspondant de commandes payées pour cette date. Pour ajouter une colonne de total cumulé, nous pouvons utiliser la variable @runtot et modifier la requête comme suit :

<code class="language-sql">SET @runtot := 0;
SELECT q1.d, q1.c, (@runtot := @runtot + q1.c) AS rt
FROM (SELECT DAYOFYEAR(`date`) AS d, COUNT(*) AS c
    FROM `orders`
    WHERE `hasPaid` > 0
    GROUP BY d
    ORDER BY d) AS q1</code>
Copier après la connexion

Dans cette requête mise à jour :

  • SET @runtot := 0; Initialisez la variable de total cumulé à zéro.
  • La sous-requête (q1) gère les calculs de base, récupérant le jour de l'année (d) et le nombre de commandes payées (c).
  • (@runtot := @runtot q1.c) AS rt Calculez le total cumulé en ajoutant chaque valeur c au total cumulé précédent et attribuez-le à la colonne « rt ».

Le résultat de cette requête sera un nouveau tableau avec une colonne « rt » supplémentaire représentant le total cumulé des commandes payées pour chaque jour.

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!

source:php.cn
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