假设我有桌子'东西'其中有一列'排名'在排名栏中有5条记录,其中包括First,Second,Third,Fourth和Fifth。
我希望能够使用
{{1}}
返回'第五'而不是默认'第三'。
另外,我希望第四个被认为大于第三等等。
我该如何做到这一点?
SQL Server 2005
答案 0 :(得分:3)
您需要有一个单独的查找表来将这些值链接到可以按其排序的数值。
答案 1 :(得分:1)
我建议:
而不是select top 1 ranking
from things
order by ranking desc;
case
这并不能解决你的问题,但它指出了一个好的方向。只需在order by
中使用select top 1 ranking
from things
order by (case ranking
when 'First' then 1
when 'Second' then 2
when 'Third' then 3
when 'Fourth' then 4
when 'Fifth' then 5
end) desc;
语句:
Advanced Compiler Settings
您也可以使用辅助表或子查询执行此查找。