Name | count
jaison 23
Drew 45
Abd 22
Ricky 55
OTHERS 10
我希望按从高到低的顺序进行排序,并将OTHERS放在SQL表格的底部。预先感谢。
答案 0 :(得分:2)
使用CASE
表达式足够简单:
SELECT Name,Count
FROM SomeTable
ORDER BY CASE WHEN Name='OTHERS' THEN -1000 ELSE Count END desc
(假设Count
不能为负,这不应该是该单词的任何简单含义)
(我通常会将上面的CASE
链接到特定的文档。但是,在不知道您正在使用哪种SQL产品的情况下,如果您需要有关它的更多信息,我将留给您查找有关的文档)
答案 1 :(得分:0)
您应该使用两个键代替神奇的值:
select t.*
from t
order by (case when name = 'Others' then 1 else 0 end), -- put Others last,
count desc;
具有讽刺意味的是,在您的情况下,'Others'
已经具有最小值,所以:
order by count desc
做你想要的。