有以下表
日期 增加 减少
2015-04-24 18709 12608
2015-04-25 28508 11412
2015-04-26 39092 20858
2015-04-27 80146 57995
2015-04-28 53581 19584
2015-04-29 50609 26319
2015-04-30 52969 28884
2015-05-01 79146 70007
2015-05-02 50536 38031
2015-05-03 58161 42329
2015-05-04 27287 14137
用SQL语句得到下面的东西:
日期 增加 减少 留存率
2015-04-24 18709 12608 =(18709-12608)
2015-04-25 28508 11412 =(18709-12608)+(28508-11412)
2015-04-26 39092 20858 =(18709-12608)+(28508-11412)+( 39092-20858)
2015-04-27 80146 57995 下面依次类推
2015-04-28 53581 19584 …
2015-04-29 50609 26319 …
2015-04-30 52969 28884 …
2015-05-01 79146 70007 …
2015-05-02 50536 38031 …
2015-05-03 58161 42329 …
2015-05-04 27287 14137 …
创建表:
CREATE TABLE test1
(
date
DATE NULL DEFAULT NULL,
increase
INT(11) NULL DEFAULT NULL,
decrease
INT(11) NULL DEFAULT NULL
)
ENGINE=InnoDB
;
语句:
select t1.date,t1.increase,t1.decrease,sum(t2.increase - t2.decrease) as 留存率
from test1 t1
left join test1 t2 on t2.date <= t1.date
group by t1.date