SELECT name, score,
ROW_NUMBER() OVER (ORDER BY score DESC) AS row_num,
RANK() OVER (ORDER BY score DESC) AS rank,
DENSE_RANK() OVER (ORDER BY score DESC) AS dense_rank
FROM leaderboard;
-- Example output:
-- Alice 100 1 1 1
-- Bob 90 2 2 2
-- Carol 90 3 2 2 ← tied with Bob
-- Dave 80 4 4 3 ← rank skips 3, dense_rank doesn't
-- Eve 70 5 5 4
-- Per-category rank
SELECT product, category, price,
RANK() OVER (PARTITION BY category ORDER BY price DESC) AS price_rank
FROM products;
Create a free account and build your private vault. Share publicly whenever you want.