我是这个论坛和MySQL的新手。我的问题与以前的帖子类似,但是想知道这是否可以用代码解决。
我在mysql中有表,主键为id,Month(日期格式)和Site Count。 现在我想要一个表输出,其中包含月份,站点数和从站点数计算的计数之间的差异。
ID Month Site Count
1 31-01-2014 37
256 28-02-2014 37
512 31-03-2014 37
768 30-04-2014 41
1024 31-05-2014 38
1280 30-06-2014 42
1536 31-07-2014 42
注意:原因ID不按顺序是因为它是从主表派生的。
网站计数是主表计数(不同site
)的导出值,为site count
现在我想要创建如下表格,无法使用Id字段
计算ID Month Site Count Diff
1 31-01-2014 37 0
256 28-02-2014 37 0
512 31-03-2014 37 4
768 30-04-2014 41 2
1024 31-05-2014 43 1
1280 30-06-2014 44 2
1536 31-07-2014 46
无法计算最后一个值,因为前面有值 非常感谢您的帮助。
感谢。
答案 0 :(得分:0)
您可以使用变量或相关子查询/连接执行此操作。这是后一种方法:
select t.id, t.month, t.sitecount, (next_sitecount - sitecount) as diff
from (select t.*,
(select t2.sitecount
from t t2
where t2.month > t.month
order by month
limit 1
) as next_sitecount
from t
) t;