field() è una funzione proprietaria di mysql. Proprio per questo inizialmente ti chiedevo su quale database stessi lavorando.
Ti posto un altro paio di alternative per mysql
codice:
select * from post
where id in (87,67,54,97)
order by id<>87,id<>67,id<>54,id<>97
codice:
select *,
case
when id = 87 then 1
when id = 67 then 2
when id = 54 then 3
else 4
end as ordine
from post
where id in (87,67,54,97)
order by ordine
In access la query diventerebbe
codice:
select *
from post
where id in (87,67,54,97)
order by id =87,id=67,id=54,id=97