SQLite 和自定义顺序

标签 sql sqlite sql-order-by

我有一个分类表:

ID  Category
"1","Baking"   
"3","Family"   
"4","Entertaining"   
"5","Children"   
"6","Desserts"   

现在我想将select语句的结果排序为

ID  Category
"4","Entertaining"   
"3","Family"  
"1","Baking"   
"5","Children"   
"6","Desserts"  

例如。在 MySQL 中,你会这样做:

SELECT * FROM CATEGORIES ORDER BY FIELD (ID, 4,3,1,5,6);

你会如何在 SQLite 中做到这一点?我没有“order by”字段。

最佳答案

ORDER BY 
  CASE ID
    WHEN 4 THEN 0
    WHEN 3 THEN 1
    WHEN 1 THEN 2
    WHEN 5 THEN 3
    WHEN 6 THEN 4
  END

关于SQLite 和自定义顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3303851/

相关文章:

sql - SQL(语言)有哪些好的替代品?

android - 在 SQLite Android 数据库中存储自定义对象(用户定义的对象)

android - 在 sqlite 3 和 Android 上工作

sqlite - 使用Haskell/木薯将UTCTime转换为CSV字段

mysql - 以预定义的顺序返回查询结果

php - 如何以 2013-02-27 00 :00:00 so I can use it with ORDER BY? 形式转换日期

sql-server - Row_Number() 使用 ORDER BY CASE 时的 CTE 性能

sql - 在PostgreSQL中,我们可以直接比较两个带有不同时区的时间戳吗?

MySQL 语法错误,无法识别的关键字 null

mysql - 连接表以从两个表中选择数据时出错