我有这张桌子
id value
1 OK
2 xminimum
3 NO
4 YES
我希望按value
对此表进行排序,其中minimum
始终优先,其余按照value
列的字母顺序排列
含义:
xminimum
NO
OK
YES
我写了这个查询:
Select *
from table_a
order by case when value='xminimum' then 1 else ????? end
我不知道在其他地方放什么......概念上它应该是else value end
所以它意味着字母顺序..但我不能将整数与文本结合起来。
我该如何解决?
答案 0 :(得分:4)
根据要求,从我的评论中复制:
Select *
from table_a
order by case when value='xminimum' then 1 else 2 end, value
答案 1 :(得分:2)
另一种解决方案:
SELECT *
FROM table_a
ORDER BY value <> 'xminimum', value;
答案 2 :(得分:1)
按照您的要求进行操作,并将value
列添加为第二列,以便按以下方式排序:
SELECT *
FROM table_a
ORDER BY CASE WHEN value='xminimum' THEN 1 ELSE 2 END, value