我有一个表incident
,表status
是一个字符串。
我想使用自定义排序顺序查询所有事件。
状态可以是以下之一:inProgress
,completed
,canceled
我希望能够有一种自定义的排序方式。让客户端指定排序顺序。我在查询本身有问题。
我尝试了一些事情:
SELECT *
FROM incident as i
ORDER BY array_position(array["inProgress", "completed", "canceled"], i.status)
SELECT *
FROM incident as i
ORDER BY case when status = "inProgress" then 0
case when status = "completed" then 1
case when status = "canceled" then 2
else 3
我的所有尝试都收到错误Unhandled rejection SequelizeDatabaseError: column "inProgress" does not exist
。
我期望inProgress
的值为status
,但是我不确定自己做错了什么。
答案 0 :(得分:2)
检查documentation的正确切线。文本使用单引号。双引号用于字段名称
ORDER BY case
when status = 'inProgress' then 0
when status = 'completed' then 1
when status = 'canceled' then 2
else 3
end