更新された回答
OPは、現在の合計を計算するために変数を使用するのとは別にユーザー変数を設定する必要がないように、単一クエリのアプローチを求めました。
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;
ユーザー変数の「インライン初期化」は、他の分析関数のシミュレーションにも役立ちます。実際、私はこのテクニックをこのような の回答から学びました。 。
元の回答
@running_sum
を表にするには、囲みクエリを導入する必要があります COUNT(*)されたレコードに対して:
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;
この回答 もご覧ください 。