CASE fonctionnerait, mais il vous manque le END . Mais dans ce cas, vous pouvez également simplement utiliser IF(AcceptedAnswerId = Id,1,0) .
Dans le cas simple que vous montrez, vous pourriez faites simplement :
order by type,if(type=0,(@accepted:=acceptedanswerid),id<>@accepted),timestamp
mais je ne sais pas si cela fonctionnerait dans votre cas réel.