/ / SQLite Bestellregeln - android, sqlite, sql-order-by, koaleszieren

SQLite Bestellregeln - android, sqlite, sql-order-by, koaleszieren

Ich habe eine SQLite-Datenbank in Android mit einigen Tabellen, einer von ihnen ist dies:

trainings (date TEXT, exercise TEXT, repetitions INTEGER, weight REAL)

und es hat zwei Indizes in Gewicht und Wiederholungen sind beide ASC.

Das ist die Sache, in einer Select-Anweisung mit der Reihenfolge nach Wiederholungen habe ich so etwas bekommen:

Select * from trainings WHERE exercise=""+exercise+"" AND repetitions != "-" AND repetitions != 0 ORDER BY COALESCE( weight, date);

0
0
0
12
13
25
-
-

Ich möchte wissen, ob es möglich ist, das "-"Ergebnisse am Anfang und nicht am Ende, denn in meiner App behandle ich 0 und "-" als die gleiche Sache und ich muss bestellen, diese beiden Daten zusammen zu bekommen.

Irgendwelche Vorschläge? Danke im Voraus

Antworten:

1 für die Antwort № 1

Um beliebige Werte in andere willkürliche Werte zu transformieren, benutzen Sie die CASE Ausdruck; etwas wie das:

... ORDER BY
CASE COALESCE(weight, date)
WHEN "-" THEN 0
ELSE          COALESCE(weight, date)
END