看板 Database 關於我們 聯絡資訊
大家好,小弟的手機APP目前是用SQLite3當作資料儲存的工具 最近遇到一些SELECT的問題..想請問一下各位 假設有"days"欄位儲存數字 假設有 -3 , -2 , -1 , 0 , 1 , 2 , 3 六筆資料 現在我想如此排序:0、1、2、3、-1、-2、-3 但是用ORDER BY DESC/ASC都排不出我想要的 所以我想說能不能先把大於0的取出來,再進行排序 SELECT * FROM database WHERE days > 0 ORDER BY DESC 然後再把小於0的取出來,再排序一次,如此就能達到我的需求 但是我試過了‥上面那行有成功把大於0的取出來進行排序, 但當我想要取小於0的再進行排序就不行了,我試過再後面加 AND days < 0 這樣會CRASH...還有OR days < 0..這樣全部都會取出來.. 不知道有沒有高手可以指點一下!?感恩!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.248.76.170
AreTheyYou:case when ~ 我是用MySQL SQLite 我沒試過 06/19 00:12
j100002ben:http://paste.plurk.com/show/1151475/ 06/19 03:38
j100002ben:前面的CASE WHEN如果在MySQL可以換成SIGN.. 06/19 03:39
j100002ben:不過SQLite沒有SIGN函數...試試看吧.. 06/19 03:40
j100002ben:還有,你不能用OR,要用UNION,不過SQLite不支援.. 06/19 03:42
kiii210:感謝樓上..快成功了..但是AS好像只能產生一個column出來.. 06/19 19:56
kiii210:用兩個AS會crash的說>"< 06/19 19:57
j100002ben:http://paste.plurk.com/show/1153068/ 06/19 21:35
j100002ben:把ABS函數放到ORDER BY 試試看唷^^ 06/19 21:36