Zkuste toto:
SELECT * FROM
(SELECT * FROM your_table
WHERE id = your_id
LIMIT 1
UNION
SELECT * FROM your_table
LIMIT 1) a
LIMIT 1
Cílem je vzít první požadovaný řádek a připojit k tomuto úplně prvnímu řádku a nakonec vzít první. Pokud požadovaný řádek neexistuje, bude vybrán první...