SELECT column, window_function(expression) OVER ( PARTITION BY partition_col -- optional grouping ORDER BY order_col ASC|DESC -- required for most ROWS BETWEEN -- optional frame UNBOUNDED PRECEDING AND CURRENT ROW ) FROM table_name
See how window functions work with interactive step-by-step visualization
SELECT column, window_function(expression) OVER ( PARTITION BY partition_col -- optional grouping ORDER BY order_col ASC|DESC -- required for most ROWS BETWEEN -- optional frame UNBOUNDED PRECEDING AND CURRENT ROW ) FROM table_name