我有一张table sales
用一些 columns
以及 data
这样地:
SELECT order_date, sale FROM sales;
+------------+------+
| order_date | sale |
+------------+------+
| 2020-01-01 | 20 |
| 2020-01-02 | 25 |
| 2020-01-03 | 15 |
| 2020-01-04 | 30 |
| 2020-02-05 | 20 |
| 2020-02-10 | 20 |
| 2020-02-06 | 25 |
| 2020-03-07 | 15 |
| 2020-03-08 | 30 |
| 2020-03-09 | 20 |
| 2020-03-10 | 40 |
| 2020-04-01 | 20 |
| 2020-04-02 | 25 |
| 2020-04-03 | 10 |
+------------+------+
例如,我想计算一下, monthly growth rate
.
根据前面的数据示例,预期结果如下:
month sale growth_rate
1 90 0
2 65 -27.78
3 105 61.54
4 55 -47.62
我们有一个老朋友 MySQL version
, 5.x
.
有谁能帮我或给我一些线索来实现这一点吗?
3条答案
按热度按时间pkwftd7m1#
有点复杂:
小提琴
gajydyqb2#
可以使用聚合和窗口函数。类似于他的:
7z5jn7bk3#
对我来说有点棘手,但我认为下面的代码工作正常
预期结果