正好碰到一个需要奇偶性相间排序的需求,查找资料终于找到一个合适的SQL。
转载:http://www.phpfans.net/ask/MTczMzIwNw.html
create table tb(i_port int)
insert tb select 2
insert tb select 0
insert tb select 1001
insert tb select 200
insert tb select 101
insert tb select 34
select i_port from
(select *,id=row_number() over (partition by i_port%2
order by i_port) from tb) a
order by id,i_port
/*
i_port
-----------
0
101
2
1001
34
200
(6 行受影响)
*/