sql 2选择with with order by

-1 sql

我有一张这样的桌子

ID            qty    price      
-----------  -----   -----       
1             0      5000
2             0      3000
3             3      1000
4             2      2000
Run Code Online (Sandbox Code Playgroud)

我想显示这样的结果:

ID            qty    price      
-----------  -----   -----       
4             2      2000
3             3      1000
1             0      5000
2             0      3000
Run Code Online (Sandbox Code Playgroud)

如上所示:

时间qty > 0:ORDER BY price DESC

之后:当qty = 0:ORDER BY price DESC.

谁能帮助我显示这样的结果?

jar*_*rlh 7

首先使用case 表达式来首先对qty> 0的行进行排序.

然后按价格下降.(将在数量> 0,qty = 0,组内订购.)

order by case when qty > 0 then 0 else 1 end, price desc
Run Code Online (Sandbox Code Playgroud)