Ich habe eine Tabelle, die hat:ORDER BY DESC in Sybase
nb | label
60 | from 2 and less
25 | from 3 to 16
15 | from 17 to 100
Ich versuche, die absteigende Reihenfolge zu bekommen, damit ich die Abfrage verwenden:
select * from table order by label desc;
Aber ich habe nicht das Recht Bestellung, stattdessen habe ich folgendes:
[ { nb: 25, label: 'from 3 to 16' },
{ nb: 60, label: 'from 2 and less' },
{ nb: 15, label: 'from 17 to 100' } ]
Ist es 17 als 1 betrachten? Wie kann ich die richtige Bestellung bekommen?
Vielen Dank für Ihre Hilfe
Extrahiere den Zahlenteil und wirf ihn in den Integer-Datentyp. – jarlh
Wenn du 0 vor die 2 und 3 setzen kannst, wird es so sortiert, wie du es willst. Strings sortieren basierend auf dem ersten Zeichen, auf das sie treffen, also ist 3> 2> 1, es sieht nicht die 7 dahinter. Die 'from und space match' der ersten Varianz ist die 3,2,1 und ist in einer Zeichenkette korrekt sortiert. Füge die 0 hinzu oder wirf die Zahlen auf numerische Werte. – xQbert