Anda dapat mendekati ini menggunakan row_number() :
select key, val
from (select t.*, row_number() over (partition by key order by num desc) as seqnum
from table_name t
) t
where seqnum = 1;
Apakah Anda menganggap ini lebih "elegan" mungkin adalah masalah selera.
Saya harus menunjukkan bahwa ini agak berbeda dari permintaan Anda. Ini dijamin untuk mengembalikan satu baris untuk setiap key; milik Anda dapat mengembalikan beberapa baris. Jika Anda menginginkan perilaku itu, cukup gunakan rank() atau dense_rank() bukannya row_number() .