-- Created on savesnippets.com · https://savesnippets.com/Kji0DYH6y9Ekr3 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;