34,838
社区成员




declare @x int,@m int,@n int
select @x=1,@m=3,@n=103
select *,pri=case when @x between @m and @n then 0 else case when @x<@m then -1 else 1 end end from tb where id=@x
union
select *,pri=0 from tb where id between @m and @n
order by pri,id
select * from tb where id between @m and @n or id=@x order by case when id between @m and @n then 0 else case when id<@m then -1 else 1 end end ,id