An alternative that doesn't use a second table or make you increment numbers for a CASE statement: SELECT * FROM products WHERE id IN (13,3,2,5,9,12,7) ORDER BY id=13 DESC, id=3 DESC, id=2 DESC, id=5 DESC, id=9 DESC, id=12 DESC, id=7 DESC ;
An alternative that doesn't use a second table or make you increment numbers for a CASE statement: SELECT * FROM products WHERE id IN (13,3,2,5,9,12,7) ORDER BY id=13 DESC, id=3 DESC, id=2 DESC, id=5 DESC, id=9 DESC, id=12 DESC, id=7 DESC ;