To może być nieco nie tak, ponieważ dialekt mysql zawsze mnie rzuca. Ponieważ B wypada po A w porządku alfabetycznym, jeśli pogrupujesz według identyfikatora, a następnie wybierzesz maksimum, otrzymasz wszystkie wiersze B, w których istnieją, w przeciwnym razie otrzymasz wiersz A.
SELECT
ID,
MAX(alphabet) AS preference
FROM
t1
GROUP BY
ID
Teraz, jeśli Twoje dane są bardziej złożone niż te, które wskazałeś, musisz sprawdzić, czy logika MAX nadal ma zastosowanie.