Php sql ORDER BY -

Moh*_*mel 2 php sql

用户表:

ID|Name|Deleted
1 |    |  N 
2 | b  |  Y 
3 | c  |  N
4 | d  |  N 
Run Code Online (Sandbox Code Playgroud)

删除的默认值为'N'

我想通过id desc订购,但我想最后显示已删除的用户.

即删除'Y'应该出现在最后

Gor*_*off 5

您可以使用多个键order by.所以:

order by (deleted = 'Y') asc, id desc
Run Code Online (Sandbox Code Playgroud)

表达式(deleted = 'Y')是一个布尔表达式,MySQL将其视为一个数字,其中1表示true,0表示false.该asc看跌期权的真正价值持续.

在大多数其他数据库中,您可以使用case:

order by (case when deleted = 'Y' then 1 else 2 end) desc, id desc
Run Code Online (Sandbox Code Playgroud)