Maison >base de données >tutoriel mysql >Comment calculer un total cumulé du nombre de commandes quotidiennes dans MySQL ?

Comment calculer un total cumulé du nombre de commandes quotidiennes dans MySQL ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-22 06:41:16951parcourir

How to Calculate a Running Total of Daily Order Counts in MySQL?

Calcul du total courant MySQL : un exemple pratique

Travailler avec des données tabulaires nécessite souvent de calculer des totaux cumulés pour une analyse efficace. Cet exemple montre comment calculer un total cumulé du nombre de commandes quotidiennes dans MySQL. Nous commençons par une requête qui compte les commandes par jour :

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

Cela donne des résultats similaires à :

d daily_count
20 5
21 7
22 12
23 4

Pour ajouter une colonne de total cumulé, nous utilisons une variable utilisateur :

<code class="language-sql">SET @running_total:=0;
SELECT
    q1.d,
    q1.daily_count,
    (@running_total := @running_total + q1.daily_count) AS running_total
FROM
    (SELECT
        DAYOFYEAR(`date`) AS d,
        COUNT(*) AS daily_count
    FROM `orders`
    WHERE `hasPaid` > 0
    GROUP BY d
    ORDER BY d) AS q1;</code>

Ce code initialise une variable @running_total à zéro. La requête interne (q1) sélectionne le jour et le nombre de commandes quotidiennes. La requête externe parcourt ensuite q1, ajoutant le décompte de chaque jour à @running_total et stockant la somme cumulée dans la colonne running_total.

Le résultat inclut désormais le total cumulé :

d daily_count running_total
20 5 5
21 7 12
22 12 24
23 4 28

Cette requête améliorée fournit un total cumulé, simplifiant ainsi l'analyse et la visualisation des données.

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:
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