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
: