CASE funcionaria, mas está faltando o
END
. Mas neste caso, você também pode usar IF(AcceptedAnswerId = Id,1,0)
. No caso simples mostrado, você poderia apenas faça:
order by type,if(type=0,(@accepted:=acceptedanswerid),id<>@accepted),timestamp
mas não sei se isso funcionaria no seu caso real.