SQLite3按最高/最低数值排序

时间:2020-11-08 23:57:52

标签: sql string sqlite sql-order-by

我正在尝试在SQLite3中进行查询以按数值对列进行排序。而不是按列的数值对行进行排序,而是按行的字母顺序按前一位数字进行排序。

例如在下面的查询中110出现在2之前,因为第一个数字(1)小于2。但是,整数110大于2,我需要在2之后出现。

sqlite> SELECT digit,text FROM test ORDER BY digit;
1|one
110|One Hundred Ten
2|TWO
3|Three
sqlite>

有没有办法让2后出现110?

1 个答案:

答案 0 :(得分:2)

似乎digit是作为字符串而不是数字存储的。您需要将其转换为数字以获得正确的顺序。一种简单的方法使用:

SELECT digit, text 
FROM test
ORDER BY digit + 0