#978

One Leader per Category

Each category card must show exactly one most expensive product. If prices tie, the product with the smaller id wins. Fix the report so it returns category and name, one row per category, sorted by category.

Buggy query
SELECT category, name
FROM (
  SELECT category, name,
         RANK() OVER (PARTITION BY category ORDER BY price DESC) rn
  FROM products
) t
WHERE rn = 1
ORDER BY category, name;

Expected output sample

This is what a correct answer looks like — its row count is its own, it doesn't have to match the schema tables.

namecategory
Lamphome
Mugkitchen
Notebookoffice

Your query result will appear here