我不能为我的生活找到这个,请帮忙。我正在使用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中使用它。
请帮忙。
答案 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