She*_*kaj 6 t-sql sql-server sql-server-2008
考虑具有两个Column RoleId和User Name的示例表
Role | Name
1 AB
3 A
1 ABC
2 D
2 B
3 Abb
1 E
4 TE
Run Code Online (Sandbox Code Playgroud)
如何使用SQL查询获取以下输出.
Role | Name
3 A
3 Abb
1 AB
1 ABC
1 E
2 B
2 D
4 TE
Run Code Online (Sandbox Code Playgroud)
我只想先按角色ID 3排序,然后再保留Roleid.目前我正在使用Union来实现这个//
SELECT * FROM (SELECT * From @temp
Where roleid=3
UNION ALL
SELECT * From @temp
Where roleid != 3
) as X
Run Code Online (Sandbox Code Playgroud)
Jam*_*s Z 14
您可以使用大小写来进行更复杂的排序:
select *
from @temp
order by case when Role = 3 then 0 else 1 end, Role, Name
Run Code Online (Sandbox Code Playgroud)
select *
from @temp
order by CASE WHEN Role = 3 THEN 0 ELSE Role END, Name
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1585 次 |
| 最近记录: |