作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我想要一个字符串列的排序顺序,如下所示(数字在前,字母在后):
1
2
...
10
11
...
A
B
C
...
这是我当前的查询
SELECT * FROM PAGES_VIEW ORDER BY chapterTitle
不幸的是,这会导致以下顺序(10 在 2 之前)
1
10
2
20
...
A
B
...
如何获得我想要的订单?
编辑:删除我的 CAST 作为整数以避免混淆。
最佳答案
您应该使用 case
语句来获得所需的 order
ing。
select * from pages_view
order by (case when cast(chaptertitle as integer) = chaptertitle then 1
else 0 end) desc, cast(chaptertitle as integer), chaptertitle
关于SQLITE:如何对包含值 1-99 和字母 a-z 的字符串列进行排序,首先是数字,然后是字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32545092/
我是一名优秀的程序员,十分优秀!