SQL计算部分数据的SUM

时间:2012-02-20 18:23:21

标签: mysql

我有一个表date, subs, unsubs,其中date是PK,subsunsubs是该日期的订阅和取消订阅的数量。

我想添加一列来计算每天总订阅者的数量,也就是说,如果排序日期为subsall = subsall的最后一行+ subs - {{ 1}}。

例如:表格是

unsubs

我想添加一个新列,表格变为

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

执行该操作的MySQL命令是什么?

4 个答案:

答案 0 :(得分:1)

您正在寻找累计金额。试试这个:

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

答案 1 :(得分:0)

您应该在INSERT操作上创建触发器,请参阅手册:http://dev.mysql.com/doc/refman/5.0/en/create-trigger.html

答案 2 :(得分:0)

你可以选择两列的差异,并给它一个别名'subsall',如下所示:

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

答案 3 :(得分:0)

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

希望这适合你。