posortowane zapytanie SQL z wyjątkami

0

Witam!

czy da się napisać zapytanie SQL tak żeby z tabeli posortował wszystkie wyniki a jedno z nich dał na początek np:

 
SELECT *
FROM ksiazki
ORDER BY nazwa ASC

mam tutaj zapytanie sortujące wszystkie rekordy z tabeli książki po nazwie i wszystko jest OK ale ja chcę żeby na początku wynikiów (pierwszą pozycją) znalazła się książka o id = 9 mimo że ona wcale nie musi być pierwsza po posortowaniu.

pozdrawiam

0
SELECT * FROM ksiazki ORDER BY case when id=9 then 0 else 1 end, nazwa ASC

pozdrawiaMM

0
select *, 1 as pp from ksiazki where id = 9
union 
select *, 0 as pp from ksiazki where id != 9
order by pp DESC, nazwa ASC

edit: Marcin.Miga mnie uprzedził, jego zapytanie pewnie też będzie szybsze

0

SUPER !!! właśnie to jest to

1 użytkowników online, w tym zalogowanych: 0, gości: 1