在sqlite中自定义排序

Fal*_*rri 3 sql sqlite select sql-order-by

有没有办法在sqlite中通过查询获得自定义订单?

例如,我基本上有一个枚举

_id|Name|Key
------------
1 | One | Named
2 | Two | Contributing
3 | Three | Named
4 | Four | Key
5 | Five | Key
6 | Six | Contributing
7 | Seven | Named

'关键'列有订购.说密钥>命名>贡献.

有没有办法

SELECT * FROM table ORDER BY Key

返回一些效果

_id|Name|Key
------------
4 | Four | Key
5 | Five | Key
1 | One | Named
3 | Three | Named
7 | Seven | Named
2 | Two | Contributing
6 | Six | Contributing

这个?

ber*_*nie 9

  SELECT _id, Name, Key 
    FROM my_table t 
ORDER BY CASE WHEN key = 'Key' THEN 0 
              WHEN key = 'Named' THEN 1 
              WHEN key = 'Contributing' THEN 2 END, id;
Run Code Online (Sandbox Code Playgroud)