假设我的数据库中有以下行:
1
0
5
2
0
3
3
5
0
5
我想对字段进行排序,我需要首先返回非零值的字段,当返回值为零时,排序后的行应如下所示
1
5
2
3
3
5
5
0
0
0
我不想按数字排序,我想最后显示0值,
我有这个代码,但它是按数字排序的:
ORDER BY cASE WHEN num_mojud = 0 THEN num_mojud END ASC,CASE WHEN num_mojud > 0 THEN num_mojud END ASC
or
ORDER BY IF (num_mojud = 0, 9999999, num_mojud )
我如何做到这一点呢?
发布于 2018-05-28 20:02:56
select num_mojud
from MyTable
order by case when num_mojud is 0 then 1 else 0 end, num_mojud
发布于 2018-05-28 21:14:41
您可以从定制表中选择num_mojud
。
第一个:SELECT num_mojud FROM tableName WHERE num_mojud > 0
获取所有大于0的数字第二个:SELECT num_mojud FROM tableName WHERE num_mojud = 0
所有数字都等于0
SELECT num_mojud
FROM (
(SELECT num_mojud FROM tableName WHERE num_mojud > 0)
UNION
(SELECT num_mojud FROM tableName WHERE num_mojud = 0)
) as myCustomTable
https://stackoverflow.com/questions/50565885
复制相似问题