作者chong (CW)
看板Database
标题[SQL ] SQLite3 排序问题
时间Thu Jun 20 15:01:19 2013
想要请教一下有关SQLite3的排序问题,今天遇到的,有点怪异。
我的资料如下(取前10行为样本):
ID E L
comp36626_c0_seq14 0.00 4.22
comp36926_c0_seq7 1.24 0.00
comp28773_c0_seq2 1.49 0.00
comp37848_c0_seq2 0.00 13.34
comp30191_c0_seq8 13.41 0.00
comp20283_c0_seq1 0.00 5.97
comp38375_c1_seq28 0.00 17.52
comp35205_c0_seq7 5.97 0.00
comp36636_c0_seq12 1.17 0.04
comp128416_c0_seq1 0.00 8.08
想要让它们由大至小排列,我的SQLite指令如下:
select * from table order by L desc;
结果,出来却是这样:
comp128416_c0_seq1 0.00 8.08
comp20283_c0_seq1 0.00 5.97
comp36626_c0_seq14 0.00 4.22
comp38375_c1_seq28 0.00 17.52
comp37848_c0_seq2 0.00 13.34
comp36636_c0_seq12 1.17 0.04
comp36926_c0_seq7 1.24 0.00
comp28773_c0_seq2 1.49 0.00
comp30191_c0_seq8 13.41 0.00
comp35205_c0_seq7 5.97 0.00
为什麽它们不是正常的由大至小排列,而是自动分组了呢?
在另一个SQLite资料库中,我用一样的指令进行排序,得到的结果就很正常。
我有什麽地方疏忽了吗?
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.116.25.64
1F:推 LPH66:你的 E 的储存型态是文字吧? 06/20 16:52
2F:→ LPH66:呃, 我是说 L 不过应该两个都是 XD 06/20 16:52
3F:→ LPH66:你应该要用 REAL 型态存 这才是浮点数 06/20 16:53
4F:→ chong:真的!竟然被这点打败!看来我对SQLite会自动判断资料格式 06/20 17:48
5F:→ chong:的认知需要加强。可是前一天我在建table的时候,没有加REAL 06/20 17:48
6F:→ chong:格式,排序倒也是正常,所以今天一直觉得很怪! 06/20 17:49
7F:→ chong:谢谢你帮我解惑 06/20 17:49