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.