MySQL - 如何按范围内的任何数字排序

时间:2014-01-20 19:09:27

标签: mysql select

我有一个管理状态数据的表:状态可以是1,2或3。

我需要订购SELECT QUERY,首先按2然后3然后1 ....或任何我想要的订单。

1 个答案:

答案 0 :(得分:1)

您可以使用mysql的FIELD()函数进行自定义排序

SELECT * FROM table
ORDER BY FIELD(`status`,2,3,1)

或者您可以使用CASE

SELECT * FROM table
ORDER BY 
(CASE WHEN `status` =2 THEN 1
     WHEN `status` =3 THEN 2
     WHEN `status` =1 THEN 3
     ELSE END) ASC 

FIELD(str,str1,str2,str3,...)