我的表中有一个名为"priority"的字段,类型为 varchar(20),它可以有以下四个值:显示塞子、高、中、低
现在,当我使用查询"从按优先级排序的问题中选择优先级"对其进行排序时,它的结果是:1. 高2. 低3. 中等4. 显示塞子
但是我需要按以下顺序执行此操作:1. 显示塞子2. 高3. 中等4. 低
请建议我在上面的书面查询中可以做些什么来按此顺序获取结果?我知道如果我将 varchar 更改为枚举,问题就会得到解决。但是由于某些项目概念的限制,我无法更改字段类型,因此请告诉我其他解决方案。提前谢谢。
...
ORDER BY CASE priority WHEN 'show stopper' THEN 1
WHEN 'high' THEN 2
WHEN 'medium' THEN 3
WHEN 'low' THEN 4
END
或
ORDER BY FIELD(priority,'show stopper', 'high', 'medium', 'low');