我在 android sqlite 中使用 ORDER BY 时遇到了一些问题。
我正在使用这个查询来重新排序我的 ListView :
Select * From tbl_name ORDER BY WithOrder asc
其中 WithOrder 是 Integer 类型的列。我希望的预期行为是 sqlite 将行重新排序为 ....8,9,10,11,12.... 但它是根据第一个数字而不是 ..10 重新排序列表,11,8,9....
请帮助我用整数的升序值重新排序表...我不能选择任何其他列或数据类型来重新排序,因为当用户重新排序列表时,我严重依赖 WithOrder 进行一般计算。
谢谢!
帕瓦兹·巴斯卡尔
最佳答案
虽然数字是根据其数值排序的,但字符串是按字典顺序排序的,从第一个字符开始。
特别地,字符 1
小于字符 8
,因此任何以 1
开头的字符串(例如 11
) 排在任何以 8
开头的字符串之前。
重新创建您的表,使 WithOrder
列的类型为 INTEGER
。
关于android - 如何根据升序整数对sqlite表进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14931371/