SELECT category, sku, sales
FROM (
SELECT category, sku, sales,
ROW_NUMBER() OVER (PARTITION BY category ORDER BY sales DESC, sku) AS rn
FROM sales
) ranked
WHERE rn <= 3;
SELECT category, sku, sales
FROM (
SELECT category, sku, sales,
ROW_NUMBER() OVER (PARTITION BY category ORDER BY sales DESC, sku) AS rn
FROM sales
) ranked
WHERE rn <= 3;