Let’s look at the most popular window functions.
SUM(), AVG(), COUNT(), MIN(), MAX()
These 5 are referred to as aggregate window functions. We’ve already seen these functions when we were working with GROUP BY.
SUM() or COUNT() are great when we need to calculate percentage of a row value to a total. For example here’s a query that calculates revenue per country and also percentage from total revenue of the company:
WITH revenue_per_country AS ( SELECT country, SUM(amount) AS country_revenue FROM purchases p INNER JOIN users u ON p.user_id = u.id...