Auf diese Weise erhalten Sie id = 3 zuerst:
SELECT *
FROM tbl
ORDER BY (id = 3) DESC
-- ,id
Bestellen Sie nach id zusätzlich, wenn Sie möchten, dass der Rest auch bestellt wird.
Erklärung:
Der Ausdruck wird als boolean
ausgewertet . FALSE (=0 in mysql) sortiert vor TRUE (=1 in mysql), also ordnen wir absteigend.
Es deckt auch automatisch den Fall von id ab NULL sein . Ich zitiere hier noch einmal das Handbuch
: