我的表如下所示:
Metro_region、价值、日期
在 11 月份具有多个值(每个日期一个)。大约有100个都会区。
我希望我的报告包含以下数据:
Metro_region Today Yesterday 2daysAgo 3dayAgo
MetroRegionA 40.1 54.3 64.8 48.1
MetroRegionB 31.1 53.1 97.8 43.2
我尝试了什么:
select
metro_region,
date,
LAG(value,3) over (Partition by metro order by metro) as "3daysAgo",
LAG(value,2) over (Partition by metro order by metro) as "2daysAgo",
LAG(value,1) over (Partition by metro order by metro) as "Yesterday",
value as Today
from mytable
where date = curdate();
我怀疑我没有正确分区......或者只是严重错过了如何使用LAG
......任何见解都值得赞赏!