CASE sẽ hoạt động, nhưng bạn thiếu END
. Nhưng trong trường hợp này, bạn cũng có thể chỉ sử dụng IF(AcceptedAnswerId = Id,1,0)
.
Trong trường hợp đơn giản mà bạn hiển thị, bạn có thể chỉ cần làm:
order by type,if(type=0,(@accepted:=acceptedanswerid),id<>@accepted),timestamp
nhưng tôi không biết liệu điều đó có hiệu quả trong trường hợp thực của bạn hay không.