Revenue:
customer_id (varchar),
product_id (varchar),
month_start_date (date), 2022-03-01
revenue_amt (decimal)
select top 10 product_id , sum(revenue_amt) as total
from Revenue
where year(month_start_date) = 2020
group by product_id
order by sum(revenue_amt) desc
select customer_id,
sum(revenue_amt) over (partition by customer_id, year(month_start_date) order by year(month_start_date) desc rows preceeding 0 and current row) revnue_2022,
sum(revenue_amt) over (partiton by customer_id, year(month_start_date) order by year(month_start_date) desc rows preceeding 1 and precceding 1) revenue_2021,
sum(revenue_amt) over (partiton by customer_id, year(month_start_date) order by year(month_start_date) desc rows preceeding 2 and precceding 2) revenue_2020
from revenue
select customer_id, year from cust_rank where rnk <= 5
+-----------------------------+
| month_start_date sum |
+-----------------------------+
| ------------------- ------ |
| 1/2/2017 650 |
| 1/9/2017 900 |
| 1/4/2018 600 |
| 1/6/2018 800 |
| 1/7/2018 950 |
| 1/1/2019 800 |
| 1/4/2019 900 |
| 1/5/2019 1700 |
+-----------------------------+
select month_start_date, sum(revenue) over (partition by year(month_start_date) order by month_start_date) sum from revenue