php自动计算增长率,如何写sql计算增长率?

问题

已有数据表(假定表名为t)

time        sale

1999        484490467

2000        651413668.9

2001        1371371008

2002        1817741625

2003        2505332095

2004        3765438486

2005        4817720384

2006        6083322598

需要产生如下的数据表

time        sale        incrseace

1999        484490467

2000        651413668.9        0.34

2001        1371371008        1.11

2002        1817741625        0.33

2003        2505332095        0.38

2004        3765438486        0.50

2005        4817720384        0.28

2006        6083322598        0.26

如何用SQL 实现?

SELECT a.time, a.sale, ((a.sale / b.sale) - 1) as growth

from t a, t b

where a.time=b.time+1;

上面的SQL语句将产生

time        sale        growth

2000        651413668.9        0.34

2001        1371371008        1.11

2002        1817741625        0.33

2003        2505332095        0.38

2004        3765438486        0.50

2005        4817720384        0.28

2006        6083322598        0.26

(我需要保留1999的数据,缺少了一行)

SELECT b.time, b.sale, ((a.sale / b.sale) - 1) as growth

from t a, t b

where a.time=b.time+1;

上面的SQL语句将产生

time        sale        growth

1999        484490467        0.34

2000        651413668.9        1.11

2001        1371371008        0.33

2002        1817741625        0.38

2003        2505332095        0.50

2004        3765438486        0.28

2005        4817720384        0.26

都不符合结果

请问如何写出合适的SQL?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值