File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -232,3 +232,49 @@ from daily_sales;
232232select *,
233233 lead(sales_amount, 1) over(order by sales_date) as next_day_sales
234234from daily_sales;
235+
236+ # Diff between lead and lag
237+ select *,
238+ lag(sales_amount, 1) over(order by sales_date) as pre_day_sales
239+ from daily_sales;
240+
241+ select *,
242+ lead(sales_amount, 1) over(order by sales_date) as next_day_sales
243+ from daily_sales;
244+
245+
246+ # How to use Frame Clause - Rows BETWEEN
247+ select * from daily_sales;
248+
249+ select *,
250+ sum(sales_amount) over(order by sales_date rows between 1 preceding and 1 following) as prev_plus_next_sales_sum
251+ from daily_sales;
252+
253+ select *,
254+ sum(sales_amount) over(order by sales_date rows between 1 preceding and current row) as prev_plus_next_sales_sum
255+ from daily_sales;
256+
257+ select *,
258+ sum(sales_amount) over(order by sales_date rows between current row and 1 following) as prev_plus_next_sales_sum
259+ from daily_sales;
260+
261+ select *,
262+ sum(sales_amount) over(order by sales_date rows between 2 preceding and 1 following) as prev_plus_next_sales_sum
263+ from daily_sales;
264+
265+ select *,
266+ sum(sales_amount) over(order by sales_date rows between unbounded preceding and current row) as prev_plus_next_sales_sum
267+ from daily_sales;
268+
269+ select *,
270+ sum(sales_amount) over(order by sales_date rows between current row and unbounded following) as prev_plus_next_sales_sum
271+ from daily_sales;
272+
273+ select *,
274+ sum(sales_amount) over(order by sales_date rows between unbounded preceding and unbounded following) as prev_plus_next_sales_sum
275+ from daily_sales;
276+
277+ # Alternate way to esclude computation of current row
278+ select *,
279+ sum(sales_amount) over(order by sales_date rows between unbounded preceding and unbounded following) - sales_amount as prev_plus_next_sales_sum
280+ from daily_sales;
You can’t perform that action at this time.
0 commit comments