2012-02-20 3 views
0

テーブルdate, subs, unsubsdateはPK)、subsおよびunsubsは、その日付のサブスクライブとサブスクライブ解除の数です。 unsubs - ソート日、subsall =最後の行のsubsall + subs場合、私は毎日の総加入者数を計算するために列を追加したいSQLデータの一部のSUMを計算する

、それが、あります。例えば

:表は

---------------- 
2012-01-01, 5, 2 
2012-01-02, 6, 1 
2012-01-03, 4, 3 
---------------- 

であることを行うためにMySQLのコマンドである私は、新しい列を追加すると、テーブルは

------------------- 
2012-01-01, 5, 2, 3 
2012-01-02, 6, 1, 8 
2012-01-03, 4, 3, 9 
------------------- 

なり?

答えて

1

あなたは累積合計を探しています。これを試してください:

SELECT date, subs, unsubs, (@csum := @csum + subs - unsubs) cumulative 
FROM table, (SELECT @csum :=0) c 
ORDER BY date 
0

あなたはちょうど2つの列の違いを選択し、それをこのような「subsall」の別名を与えることができます:

SELECT date, subs, unsubs, (subs - unsubs) as 'subsall' FROM table

+0

これは、毎日の違いを計算します。前の行を集計する必要があります。 – DrXCheng

+0

私は完全なあなたの質問を理解していない...あなたは現在のsubsallカウントを持つすべての新しい行をしたいですか? –

0
SELECT (COUNT(subs) - COUNT(unsubs)) as total subscribers from table 
GROUP BY DATE_FORMAT(date, '%d-%m-%Y') 

これはうまくいきます。

+0

これは間違いなく間違いです。 – DrXCheng