我想获得last_value和7天前last_value之间的%差异。 这就是我现在正在做的方式,但希望有任何其他建议或替代方案:
示例 这个
日期----用户数
01/01:5005
01/02:6555
...
current_date-7: 5553 ...
当前日期: 6000
我正在尝试比较 6000 和 5553。我正确的做法是:
select
date,
case
when date=current_date then number_of_users
else lag(number_of_users,7) over(order by date) end as lag_7_day
from
my_table
请告诉我你们是否有其他选择?谢谢!
最佳答案
要将今天与 7 天前进行比较并获得 %,您需要这样的东西
select
date,
number_of_users as number_of_users_current_date,
lag(number_of_users,7) over(order by date) number_of_users_lag_7_day
(number_of_users::float - lag(number_of_users::float,7) over(order by date)) / number_of_users::float as percent_increase
from
my_table
where date - current_date()
关于mysql - 在最后一行除外的情况下使用滞后函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59815753/