/ / SQLite Правила за поръчки - android, sqlite, sql-order-by, coalesce

SQLite Правила за поръчки - android, sqlite, sql-order-by, coalesce

Имам SQLite база данни в Android с някои таблици, една от които е тази:

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

и има два индекса по тегло и повторения, и двете са ASC.

Това е нещо, В една избирателна декларация с ред по повторения имам нещо подобно:

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

0
0
0
12
13
25
-
-

Искам да знам дали е възможно да се постави "-"резултатите в началото, а не в края, защото в моето приложение аз третирам 0 и "-" като едно и също нещо и трябва да поръчам да се съберат тези две данни заедно.

Някакви предположения? Благодаря предварително

Отговори:

1 за отговор № 1

За да трансформирате произволни стойности в други произволни стойности, използвайте CASE израз; нещо като това:

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