作者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