首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >月到月增长率

月到月增长率
EN

Database Administration用户
提问于 2017-06-20 07:14:09
回答 1查看 2.9K关注 0票数 0

我有一张有以下细节的桌子

代码语言:javascript
复制
year    month   entry
------------------------
2017    March   1
2017    April   1
2017    May     2
2017    June    9

预期输出

代码语言:javascript
复制
year |  month |entry |  growth rate
-----------------------------------
2017 |  March | 1    |    0 %
-----------------------------------
2017 |  April | 1    |    0 %
-------------------------------------
2017 |  May   | 2    |    50 %
-------------------------------------
2017 |  June  | 9    |    77 %
------------------------------------

请发布一个MySQL查询以查看上面的内容。

我的增长率公式是:

代码语言:javascript
复制
(current month entry - previous month entry) / (current month entry) * 100
EN

回答 1

Database Administration用户

回答已采纳

发布于 2017-06-20 07:54:15

您可以使用一个变量来模拟延迟()函数,因为我不知道每个月我使用了一个组的记录有多少,只是为了确定。

代码语言:javascript
复制
select year, month, entry, 
       if(@last_entry = 0, 0, ((entry - @last_entry) / entry) * 100) "growth rate",
       @last_entry := entry                  
from
      (select @last_entry := 0) x,
      (select year, month, sum(entry) entry
       from   mytable
       group by year, month) y;

其结果是:

代码语言:javascript
复制
| year | month | entry | growth rate      |
|------|-------|-------|------------------|
| 2017 | 3     | 1     | 0                |
| 2017 | 4     | 1     | 0                |
| 2017 | 5     | 2     | 50               |
| 2017 | 6     | 9     | 77,7777777777778 |

rextester 这里

票数 2
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/176726

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档