如何按特定方式订购?

yav*_*ona 2 php mysql sql

Mysql表:

id | category    | image<br>
--------------------------------
0  | landscape   | image name
1  | panarimic   | image name
2  | portrait    | image name
3  | landscape   | image name
4  | landscape   | image name
5  | portait     | image name
Run Code Online (Sandbox Code Playgroud)

我想编写mysql select,它应首先获取格局,而不是列出其他格局.我怎样才能做到这一点?我可以添加类别编号并制作"按顺序排列",但如果没有它,还有其他方法吗?

sag*_*agi 5

是的,你可以CASE EXPRESSION在你的ORDER BY CLAUSE:

SELECT t.id,t.category,t.image
FROM YourTable t
ORDER BY CASE WHEN t.category = 'landscapes' then 1 else 0 end DESC,
         t.category
Run Code Online (Sandbox Code Playgroud)