android - 如何根据升序整数对sqlite表进行排序?

标签 android sqlite listview

我在 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/

相关文章:

android - 在 onListItemClick 中单独显示 HASHMAP 值

android - 没有一致的方式通过 TCP 连接 ADB

iphone - iPhone 版 Sqlite 的替代方案 [monotouch]

android - 如何以编程方式在 Android 中将 ListView 滚动到上下手势

java - 点击时 ListView 项目的渐变不会改变

android - 如何取消场景转换动画?

android - 耗时后的 Firebase 事件

mysql - 在 sql 查询中返回前 3 个计数值

java - 如何使用 GreenDAO 进行全选?

android - 想要将数组的一部分加载到 android ListAdapter 中