将一个结果与之前的使用日期进行比较时获得增加或减少的百分比
get % of increase or decrease when comparing one result to previous using dates
这是我的查询:
select
country,
channel,
month,
sum(revenue)
from a
group by 1,2,3
那么,是否可以获得当月收入与上月收入之间的百分比差异?
提前致谢
这是一种方法:
select *
,((revenue/ LAG(revenue,1,0) over (country,channel order by month)) -1)* 100.0 perc
from (
select
country,
channel,
month,
sum(revenue) revenue
from a
group by 1,2,3
) t
您可以将 lag()
与聚合一起使用:
select country, channel, month,
sum(revenue) as revenue,
(-1 + sum(revenue) / lag(sum(revenue)) over (partition by country, channel order by month)
) as change_ratio
from a
group by 1, 2, 3
这是我的查询:
select
country,
channel,
month,
sum(revenue)
from a
group by 1,2,3
那么,是否可以获得当月收入与上月收入之间的百分比差异?
提前致谢
这是一种方法:
select *
,((revenue/ LAG(revenue,1,0) over (country,channel order by month)) -1)* 100.0 perc
from (
select
country,
channel,
month,
sum(revenue) revenue
from a
group by 1,2,3
) t
您可以将 lag()
与聚合一起使用:
select country, channel, month,
sum(revenue) as revenue,
(-1 + sum(revenue) / lag(sum(revenue)) over (partition by country, channel order by month)
) as change_ratio
from a
group by 1, 2, 3