MySQL 自定义排序

3

我有一个表,从中选择数据,其中有一个名为parent的列,类型为无符号整数。

它包含0到12的数字。

我想要按照parent升序选择*,但有一个例外:将0放在选择的末尾,就像1,2,3,4,5,6,7,8,9,0一样。

请问在MySQL中是否可以使用单个select实现此功能?

2个回答

4
我会这样做:
select * 
from your_table 
order by (parent != 0) desc, parent asc; 

1
select * from your_table order by parent=0, parent; - Notinlist

0
select * 
from table 
order by case when parent is 0 then 1 else 0 end, 
    parent asc

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接