Réponse mise à jour
L'OP a demandé une approche à requête unique, afin de ne pas avoir à définir une variable utilisateur séparément de l'utilisation de la variable pour calculer le total cumulé :
SELECT d.date,
@running_sum:[email protected]_sum + d.count AS running
FROM ( SELECT date, COUNT(*) AS `count`
FROM table1
WHERE date > '2011-09-29' AND applicationid = '123'
GROUP BY date
ORDER BY date ) d
JOIN (SELECT @running_sum := 0 AS dummy) dummy;
"L'initialisation en ligne" des variables utilisateur est également utile pour simuler d'autres fonctions analytiques. En effet j'ai appris cette technique à partir de réponses comme celle-ci .
Réponse originale
Vous devez introduire une requête englobante pour tabuler le @running_sum
sur vos COUNT(*)enregistrements :
SET @running_sum=0;
SELECT d.date,
@running_sum:[email protected]_sum + d.count AS running
FROM ( SELECT date, COUNT(*) AS `count`
FROM table1
WHERE date > '2011-09-29' AND applicationid = '123'
GROUP BY date
ORDER BY date ) d;
Voir aussi cette réponse .