作者kiii210 (Johnny.T)
看板Database
標題[SQL ] SQLite 的 SELECT WHERE問題
時間Mon Jun 18 22:58:12 2012
大家好,小弟的手機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
1F:推 AreTheyYou:case when ~ 我是用MySQL SQLite 我沒試過 06/19 00:12
3F:→ j100002ben:前面的CASE WHEN如果在MySQL可以換成SIGN.. 06/19 03:39
4F:→ j100002ben:不過SQLite沒有SIGN函數...試試看吧.. 06/19 03:40
5F:→ j100002ben:還有,你不能用OR,要用UNION,不過SQLite不支援.. 06/19 03:42
6F:→ kiii210:感謝樓上..快成功了..但是AS好像只能產生一個column出來.. 06/19 19:56
7F:→ kiii210:用兩個AS會crash的說>"< 06/19 19:57
9F:→ j100002ben:把ABS函數放到ORDER BY 試試看唷^^ 06/19 21:36