首先在SQL Server中按ORDER BY特定值

时间:2018-02-20 14:20:16

标签: sql sql-server

我不能为我的生活找到这个,请帮忙。我正在使用SQL Server,我需要ORDER BY子句的帮助。

我想要这个......

ID     Name
--------------
1      Orange
2      Yellow
3      Green
4      Purple
5      Red

按此订购

ID     Name
--------------
4      Purple   <-- This one first then ASC afterwards
3      Green
1      Orange
5      Red
2      Yellow        

类似

之类的东西
ORDER BY ID=4, Name ASC

我以前在MySQL中使用字段但你不能在SQL Server中使用它。

请帮忙。

2 个答案:

答案 0 :(得分:8)

您可以在CASE子句中使用ORDER BY

ORDER BY CASE WHEN ID = 4 THEN 0 ELSE 1 END ASC, 
         NAME ASC

答案 1 :(得分:0)

一种选择是使用UNION.

SELECT * FROM YourTable WHERE ID = 4
UNION
SELECT * FROM YourTable WHERE ID <> 4 ORDER BY Name ASC