De esta manera obtienes id = 3
primero:
SELECT *
FROM tbl
ORDER BY (id = 3) DESC
-- ,id
Ordenar por id
adicionalmente si quieres el resto ordenado también.
Explicación:
La expresión se evalúa como boolean
. FALSE
(=0 en mysql) ordena antes de TRUE
(=1 en mysql), por lo que ordenamos descender.
También cubre automáticamente el caso de id
siendo NULL
. Cito el manual de nuevo aquí
: