fab*_*rik 3 mysql sql-order-by
我希望有一个简单的解决方案:
我有一个表,其中每一行都有自己的状态(SET类型字段).状态可以是:
我想订购如下
我觉得很简单
ORDER BY `status` ASC
Run Code Online (Sandbox Code Playgroud)
会做的伎俩(字母顺序),但它给了我以下内容:
怎么能以最简单的方式解决这个问题?
提前致谢,
FABRIK
Ced*_*ric 21
SELECT * FROM table ORDER BY FIELD(status,'offline','available','busy','distance')
Run Code Online (Sandbox Code Playgroud)
如果重新排序SET不切实际的值,你也可以这样做:
... ORDER BY CASE `status`
WHEN 'available' THEN 1
WHEN 'busy' THEN 2
WHEN 'distance' THEN 3
WHEN 'offline' THEN 4
END
Run Code Online (Sandbox Code Playgroud)
以为我会添加另一种按自定义字段值排序的方式,
ORDER BY FIND_IN_SET(status, 'available,busy,distance,offline')
Run Code Online (Sandbox Code Playgroud)
(如果给定的字符串包含引号,则只需将其转义)
| 归档时间: |
|
| 查看次数: |
15426 次 |
| 最近记录: |