Maison >base de données >tutoriel mysql >Comment calculer la somme cumulée dans MySQL sans fonctions analytiques ?
Calcul de la somme cumulée pour un ensemble de lignes dans MySQL
Énoncé du problème :
Déterminer la somme cumulée pour chaque ID pour toutes les heures de la journée à partir d'un ensemble de résultats de requête contenant des colonnes pour l'ID, le jour, l'heure et montant.
Réponse :
SELECT IF(@prev_id = c.id AND @prev_day = c.day ,@cumtotal := @cumtotal + c.amount ,@cumtotal := c.amount) AS cumulative_total , @prev_id := c.id AS `id` , @prev_day := c.day AS `day` , c.hr , c.amount AS `amount' FROM ( SELECT @prev_id := NULL , @prev_day := NULL , @subtotal := 0 ) i JOIN ( select id, day, hr, amount from ( //multiple joins on multiple tables)a left join (//unions on multiple tables)b on a.id=b.id ORDER BY 1,2,3 ) c
Remarques supplémentaires :
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!