以升序和负值写入正值的查询

时间:2016-06-07 07:31:26

标签: php mysql

我有mysql表,如下所示: enter image description here

在此表中有减号和正值。我希望所有记录都在下拉列表中,格式如。

我需要首先在降序降序正值显示按顺序发送。那么我应该写什么查询?

例如:

0.00
-1
-2
 ...
 ...
 ...
 1
 2
 3
 ...
 ...
 ...

3 个答案:

答案 0 :(得分:3)

试试这个:

ORDER BY CASE 
            WHEN Value = 0 THEN 0
            WHEN Value < 0 THEN 1 
            ELSE 2
         END ASC,          
         ABS(Value) ASC

ORDER BY的第一部分首先放置0值,然后是负值,然后是正值。第二部分按降序排序负值,按升序排序正值。

答案 1 :(得分:1)

使用3个查询并使用union

将结果连接在一起
(select * from sph where value = 0)
union
(select * from sph where value < 0 order by value desc)
union
(select * from sph where value > 0 order by value asc)

答案 2 :(得分:0)

select * from sph order by abs( `value` ) asc

简单;)