android - 如何先按文本排序,然后按包含数字的文本排序

标签 android sql database sqlite sorting

在 Sqllite 表中,我在表中有一个列值,如

  • 马里奥
  • 飞行器
  • 邪恶的死者
  • 4 交叉数独
  • 20个交叉数独
  • 15个交叉数独
  • 模拟城市

我如何先对文本进行排序,然后对带有数字前缀的文本进行排序。

需要的输出:

  • 邪恶的死者
  • 飞行器
  • 马里奥
  • 模拟城市
  • 4 交叉数独
  • 15个交叉数独
  • 20个交叉数独

最佳答案

你可以试试这个

SELECT * 
  FROM Table1
 ORDER BY CAST(column1 AS INTEGER), column1

输出:

|         column1 |
-------------------
|       Evil Dead |
|     Fly machine |
|           Mario |
|         SimCity |
|  4 cross Sudoku |
| 15 cross Sudoku |
| 20 cross Sudoku |

这是 SQLFiddle 演示

关于android - 如何先按文本排序,然后按包含数字的文本排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17718416/

相关文章:

android - Ics文件未按预期在Android中解析和检索数据。 (使用ical4库)

Android:将申请草稿上传到一个 Google Play 帐户,然后用另一个帐户发布?

Android 布局编辑器设备不适合每个不同的布局

database - 外部表引用Postgres 9.5

database - 我应该按 ID 还是名称在数据库中搜索内容?

android - 在 fragment 中展示不同的布局

PHP/SQL 从数据库中选择 id 列表并在查询中使用它

SQL如何格式化包含聚合或子查询的时间

php - SQL语句查询参数变成大小写敏感怎么回事?

带有 "Open Schema"的数据库 - 好主意还是坏主意?