Ini harus melakukannya:
SELECT
T1.id,
T1.name,
T1.value,
T1.priority
FROM
My_Table T1
LEFT OUTER JOIN My_Table T2 ON
T2.name = T1.name AND
T2.priority > COALESCE(T1.priority, -1)
WHERE
T2.id IS NULL
Ini juga memungkinkan Anda untuk memiliki beberapa tingkat prioritas dengan yang tertinggi adalah yang ingin Anda kembalikan (jika Anda memiliki 1 dan 2, 2 akan dikembalikan).
Saya juga akan mengatakan bahwa sepertinya ada beberapa masalah desain di DB. Pendekatan saya adalah:
My_Table (id, nama)My_Values (id, prioritas, nilai) dengan FK pada id ke id. PK pada id di My_Table dan id, prioritas di My_Values. Tentu saja, saya juga akan menggunakan nama tabel yang sesuai.