I feel like window functions are the most difficult topic in SQL. At the same time, it’s the most powerful one and I’m really glad we’ve met window functions many times in the course. Let’s review them:
ROW_NUMBER()
The ROW_NUMBER()
function gives each record in the partition a number (starting with 1 ). We used it for marketing attribution by looking at the URL of the first pageview for each user:
SELECT ROW_NUMBER() OVER(PARTITION BY visitor_id ORDER BY created_at ASC) AS pageview_number, * FROM web_analytics.pageviews