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