0

我有一个简单的查询,但我想以特定的方式查看结果。我希望在结果顶部看到“N/A”,而不必显示“Case When Then”

Select  *
From Ordertype

结果:

Car21
Car34
Bus42
N/A

谢谢,

4

3 回答 3

2

没有“覆盖” ORDER BY,如果你想要你要求的特定顺序,你必须使用CASE

SELECT type
FROM OrderType
ORDER BY 
 CASE
    WHEN type = 'N/A' THEN 1
    ELSE 2
 END 
,type
于 2013-08-08T18:43:01.000 回答
1

如果您想要一个不直接与列的结构(字母/数字)相关的任意顺序,而是与它的重要性有关,只有您在脑海中知道,将Rank列添加到表中会很有用。

Column1 Rank
Car21   
Car34   2
Bus42   1
N/A     99

那么你可以做

select Column1 
from Table 
order by rank desc, column1

这会将排名高的项目放在第一位,然后是排名低的项目,然后当行没有排名时,它将按 column1 的字母顺序对它们进行排序

于 2013-08-08T18:47:34.013 回答
0

你可以试试这个:

SELECT * FROM ordertype ORDER BY ID DESC 

第一次看到最新的

于 2013-08-08T18:42:05.350 回答