Jef*_*ter 6 mysql sql sql-order-by
我希望按照一定的顺序做订单.我知道我可以修改整个数据库,但我需要修改整个代码库.
我所拥有的是一个名为'status'的表'游戏'中的一列.
所以...
SELECT *
FROM games
ORDER BY status ASC -- Will retrieve results going from 0 then 1 then 2
Run Code Online (Sandbox Code Playgroud)
我正在寻找的是能够按1然后0然后2来订购它.
有任何想法吗???
如果我理解正确的话,使用CASE 表达式:
SELECT g.*
FROM GAMES g
ORDER BY CASE g.status
WHEN 0 THEN 1
WHEN 1 THEN 2
WHEN 2 THEN 3
END
Run Code Online (Sandbox Code Playgroud)
SELECT g.*
FROM GAMES g
ORDER BY FIND_IN_SET(g.status, '0,1,2')
Run Code Online (Sandbox Code Playgroud)
使用FIELD功能:
SELECT g.*
FROM GAMES g
ORDER BY FIELD(g.status, 0, 1, 2)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
195 次 |
| 最近记录: |