CASE akan berfungsi, tetapi Anda kehilangan END
. Tetapi dalam kasus ini, Anda juga bisa menggunakan IF(AcceptedAnswerId = Id,1,0)
.
Dalam kasus sederhana yang Anda tunjukkan, Anda bisa lakukan saja:
order by type,if(type=0,(@accepted:=acceptedanswerid),id<>@accepted),timestamp
tapi saya tidak tahu apakah itu akan berhasil dalam kasus Anda yang sebenarnya.