SQL
SQL Query for Ranking Records within Groups
Use SQL window functions like ROW_NUMBER() or RANK() to assign ranks to records within defined groups, perfect for leaderboards or top N analyses.
SELECT
product_id,
category,
sales,
ROW_NUMBER() OVER (PARTITION BY category ORDER BY sales DESC) AS rank_in_category
FROM products_sales
WHERE sales > 0;
How it works: This query assigns a rank to each product based on its sales, but the ranking is done independently within each `category`. Products with higher sales get a lower rank (1 being the highest). The `PARTITION BY category` clause ensures that ranking restarts for each new category, ideal for finding top-selling items per category.