これでうまくいくはずです:
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
これにより、複数の優先度レベルを設定して、最も高いものを返したいレベルにすることもできます(1と2がある場合は、2が返されます)。
また、DBには設計上の問題があるように思われますが。私のアプローチは次のようになります:
My_Table(id、name)My_Values(id、priority、value)with FK on idtoid。 My_TableのidとMy_Valuesのid、priorityのPK。もちろん、私も適切なテーブル名を使用します。