2016-06-07 3 views
3

ich MySQL-Tabelle, die wie unten aussieht: enter image description hereWrite-Abfrage für positiven Wert aufsteigend und negativen Wert in

In dieser Tabelle gibt es Minus- und Plus-Wert. Ich möchte alle im Drop-Down-Format in einem Format wie.

Ich brauche zuerst als Null als minus Wert in zu zeigen, um und positiven Wert in absteigend acsending um. Also, welche Frage sollte ich schreiben müssen?

Zum Beispiel:

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

Antwort

1

Gebrauch 3 querys und die Ergebnisse miteinander verbinden, indem Sie 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) 
3

Versuchen Sie folgendes:

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

Der erste Teil der ORDER BY Orte 0 Wert zuerst, gefolgt von negativen Werten, f gefolgt von positiven Werten. Der zweite Teil ordnet negative Werte in absteigender Reihenfolge und positive Werte in aufsteigender Reihenfolge an.

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

einfach;)

Verwandte Themen