如何通过sql Query按顺序放置条件

Dav*_*ohn 2 mysql sql

这是我的表名: - xyztable,在这个表中我有3列

答: - id
B: - 名称
c: - Order_number

我有一个样本数据

Id Name order_nmber  
1  A    1  
2  K    0  
3  B    6  
4  c    3  
5  P    0  
6  d    5  
7  e    2  
8  O    0  

我写的查询是

select  * from xyztable order by order_number ASC;
Run Code Online (Sandbox Code Playgroud)

给我的结果是

Id Name order_nmber 
2  K    0
5  P    0
8  O    0
1  A    1
7  e    2
4  c    3 
6  d    5
3  B    6 

但我想要的结果如下: -

Id Name order_nmber 
1  A    1
7  e    2
4  c    3 
6  d    5
3  B    6
2  K    0
5  P    0
8  O    0

那我怎么能在单个查询中得到这个....请帮助!!!!

xda*_*azz 7

你可以这样做:

select  * from xyztable order by order_number = 0, order_number ASC;
Run Code Online (Sandbox Code Playgroud)

  • 当`order_number`为'0`时,@ DavidJohn`order_number = 0`将返回`1`,否则返回'0`,因此首先按顺序将使`order_number = 0'的行变为最后. (2认同)