På denne måde får du id = 3
først:
SELECT *
FROM tbl
ORDER BY (id = 3) DESC
-- ,id
Bestil efter id
derudover, hvis du også vil have resten bestilt.
Forklaring:
Udtrykket evalueres til boolesk
. FALSE
(=0 i mysql) sorterer før TRUE
(=1 i mysql), så vi rækker faldende.
Det dækker også automatisk tilfældet af id
er NULL
. Jeg citerer manualen igen her
: