考虑具有两个Column RoleId和User Name
的样本表Role | Name
1 AB
3 A
1 ABC
2 D
2 B
3 Abb
1 E
4 TE
如何使用SQL查询获取以下输出。
Role | Name
3 A
3 Abb
1 AB
1 ABC
1 E
2 B
2 D
4 TE
我只想先按角色ID 3排序,然后再保留Roleid。 目前我正在使用Union来实现//
SELECT * FROM (SELECT * From @temp
Where roleid=3
UNION ALL
SELECT * From @temp
Where roleid != 3
) as X
答案 0 :(得分:10)
您可以使用大小写进行更复杂的排序:
<textarea ui-tinymce="tinymceOptions" ng-controller="RichTextCtrl"></textarea>
答案 1 :(得分:3)
select *
from @temp
order by CASE WHEN Role = 3 THEN 0 ELSE Role END, Name
答案 2 :(得分:2)
我通常使用NULLIF,但情况可能更快?
SELECT *
FROM @temp
ORDER BY NULLIF(Role,3), Name