Resposta atualizada
O OP pediu uma abordagem de consulta única, para não precisar SET uma variável de usuário separadamente de usar a variável para calcular o total em execução:
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;
A "inicialização em linha" de variáveis do usuário também é útil para simular outras funções analíticas. Na verdade, aprendi essa técnica com respostas como esta .
Resposta Original
Você precisa introduzir uma consulta delimitadora para tabular o
@running_sum
sobre seus registros COUNT(*)ed: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;
Veja também esta resposta .