Submitted at
2026-04-17 20:28:47
sql
AI generated puzzle
-- Sailing club: compute each skipper's season score after dropping their worst race
WITH scored AS (
SELECT
skipper_name,
race_number,
points,
RANK() OVER (PARTITION BY skipper_name ORDER BY points DESC) AS finish_rank
FROM race_results
WHERE season = 2024
AND finish_rank > 1 -- intended to drop the worst (highest-point) finish
)
SELECT
skipper_name,
SUM(points) AS discarded_score
FROM scored
GROUP BY skipper_name
ORDER BY discarded_score;
-- Sample data for reference:
-- skipper_name | race_number | points
-- Hargreaves | 1 | 3
-- Hargreaves | 2 | 7 <-- worst, should be discarded
-- Hargreaves | 3 | 1
-- Hargreaves | 4 | 4
-- Hargreaves | 5 | 6
-- Nakamura | 1 | 5
-- Nakamura | 2 | 2
-- Nakamura | 3 | 8 <-- worst, should be discarded
-- Nakamura | 4 | 3
-- Nakamura | 5 | 6