Total cumulé MySQL : solution utilisant des variables utilisateur
Cet article, initialement intitulé « Calcul d'un total cumulé dans MySQL », est destiné à ajouter une colonne à un tableau qui affiche la somme cumulée des valeurs de colonne précédentes. Cependant, la réponse fournie indique que l'utilisation de variables utilisateur dans les expressions est désormais obsolète et sera supprimée dans une prochaine version. Par conséquent, nous proposons une solution plus simple qui consiste à initialiser une variable de total cumulé et à exécuter une seule requête à l'aide de calculs mathématiques pour obtenir le résultat souhaité.
Les requêtes fournies sont les suivantes :
<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>
Cette requête initialise d'abord la variable utilisateur @runtot à 0 à l'aide d'une instruction SET. Il exécute ensuite une sous-requête pour récupérer les données nécessaires de la table des commandes. Enfin, la requête externe combine les résultats de la sous-requête avec un calcul du total cumulé.
Le tableau résultant contiendra une colonne supplémentaire appelée rt qui représente le total cumulé de la colonne c pour chaque ligne. Cette solution évite l'utilisation de variables utilisateur obsolètes dans les expressions et offre une approche plus efficace avec une seule exécution de requête.
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!