2012-09-20 107 views
0

我有一些表格的Android SQLite數據庫,其中有一個是這樣的:SQLite的排序規則

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

,它的重量有兩個指標和重複都是ASC。

這是一回事,在SELECT語句中使用ORDER BY重複我得到了這樣的事情:

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

0 
0 
0 
12 
13 
25 
- 
- 

我想知道是否有可能把「 - 」結果在beggining而不是在最後,因爲在我的應用程序中,我將0和' - '視爲同一件事,我必須訂購將這兩個數據集中在一起。

有什麼建議嗎?在此先感謝

+0

我想,如果我做一個只用選擇「 - 」和0的結果,然後在我和重複的問題次選擇=「 - 」和重複= 0可以解決但我認爲那不是最好的方法 –

回答

1

要將任意值轉換爲其他任意值,請使用CASE expression;是這樣的:!

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

非常感謝你! –