2011-06-27 27 views
2

我有這個疑問:SQlite的條件才能

select id,number,name 
    from objects 
order by case number when 0 then 1 else -1 end asc 

的數據庫與數字對象的數據庫。如果一個物體的數量不是0。我想按數字升序排序,除了數字爲0時,在這種情況下,排序降序。

上面的查詢似乎通過ID,默認的排序順序進行排序。

謝謝。

回答

2

關閉,但你忘了通過number以及排序:

SELECT id,number,name 
    FROM objects 
ORDER BY CASE number WHEN 0 THEN 1 ELSE 0 END, number; 
+0

嗨亞當,不工作對我來說,它只是通過數遞增排序。 0號碼仍然是第一位。 – Francisc

+1

道歉。我有排序順序翻轉。我編輯了正確的順序。 – bernie