Opdateret svar
OP bad om en enkelt-forespørgsel tilgang, for ikke at skulle indstille en brugervariabel separat fra at bruge variablen til at beregne den løbende total:
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;
"Inline initialisering" af brugervariabler er også nyttig til at simulere andre analytiske funktioner. Jeg har faktisk lært denne teknik fra svar som denne .
Oprindeligt svar
Du skal indføre en omsluttende forespørgsel for at tabulere @running_sum
over dine COUNT(*)ed records:
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;
Se også dette svar .