Você pode usar case para fazer uma ordenação mais complexa: select * from @temp order by case when Role = 3 then 0 else 1 end, Role, Name