使用sql重新排序整数值0以外的整数

Roa*_*alt 6 mysql sql database

我正在尝试根据整数值'place'从我的MYSQL数据库表中获取一个有序的行列表.

SELECT * FROM mytable
ORDER BY place;
Run Code Online (Sandbox Code Playgroud)

这没关系,除了值为place = 0的所有行都应该出现在表的末尾.

所以,如果我的表是:

name place
---- -----
John 1
Do   2
Eric 0
Pete 2
Run Code Online (Sandbox Code Playgroud)

它应该成为:

name place
---- -----
John 1
Do   2
Pete 2
Eric 0
Run Code Online (Sandbox Code Playgroud)

dav*_*vek 6

order by case when place = 0 then 1 else 0 end asc, place asc
Run Code Online (Sandbox Code Playgroud)

这样你首先得到所有非零.


Tru*_*oft 5

SELECT *
FROM myTable
ORDER BY place>0 DESC, place
Run Code Online (Sandbox Code Playgroud)

是一个没有解决方案CASE