我正在尝试编写一个 SQLite 查询,该查询mytable
首先按名为的列排序表status_id
,然后按名为的列排序name
,但有一个额外的约束:
SELECT name,
status_id
FROM mytable
ORDER BY status_id, name
生成一个正确排序的表。
例如(名称,状态):(“b”,1),(“a”,2),(“c”,2),(“b”,3),(“a”,4)......
但是,我需要相同类型的输出,但任何结果都status_id
等于 2,位于结果的顶部。
例如 ("a", 2), ("c", 2), ("b", 1), ("b", 3), ("a", 4)...
我想出了这个,但它不能按要求运行,因为列表也没有按名称排序:
SELECT name,
status_id
FROM mytable
ORDER BY CASE status_id
WHEN 2 THEN 0 ELSE 1 END DESC