なんかよくあれどうするんだっけと思うのでメモる。
他に良い方法があれば追加でメモる。
postgresqlで動くことは確認した。
-- 各クラスで最年少の生徒の身長を求めたい
SELECT id, class_id, age, height
FROM (
SELECT id, class_id, age, height, ROW_NUMBER() OVER (PARTITION BY class_id ORDER BY age ASC)
FROM students
) AS class_youngest_students
WHERE row_number = 1 -- 0-indexではない