我知道如何按id或数字排序,比如
$getTicket = $sql->query("SELECT * FROM `ticket`
WHERE `user`='$user->name'
ORDER BY `id` DESC");
我在票表中有Status,其中我有3个东西:
- 回答
我想这样排序:
- 回答
有办法做到这一点吗?
做简单的-
ORDER BY FIELD(Status, 'Unanswered', 'Answered', 'Done')
一般可以使用case
SELECT * FROM `ticket`
WHERE `user` = '$user->name'
ORDER BY case when Status = 'Unanswered' then 1
when Status = 'Answered' then 2
else 3
end
或MySQL特定的find_in_set
SELECT * FROM `ticket`
WHERE `user` = '$user->name'
ORDER BY find_in_set(Status, 'Unanswered,Answered,Done')