[SQL ] SQLite3 排序問題

看板Database作者 (CW)時間12年前 (2013/06/20 15:01), 編輯推噓1(106)
留言7則, 2人參與, 最新討論串1/1
想要請教一下有關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

06/20 16:52, , 1F
你的 E 的儲存型態是文字吧?
06/20 16:52, 1F

06/20 16:52, , 2F
呃, 我是說 L 不過應該兩個都是 XD
06/20 16:52, 2F

06/20 16:53, , 3F
你應該要用 REAL 型態存 這才是浮點數
06/20 16:53, 3F

06/20 17:48, , 4F
真的!竟然被這點打敗!看來我對SQLite會自動判斷資料格式
06/20 17:48, 4F

06/20 17:48, , 5F
的認知需要加強。可是前一天我在建table的時候,沒有加REAL
06/20 17:48, 5F

06/20 17:49, , 6F
格式,排序倒也是正常,所以今天一直覺得很怪!
06/20 17:49, 6F

06/20 17:49, , 7F
謝謝你幫我解惑
06/20 17:49, 7F
文章代碼(AID): #1HmgZ3gi (Database)