高分求一条排序SQL
表结构
ID Class Content Content2
1 A aa bb
2 A cc dd
3 A ee ff
4 b gg hh
5 b ii jj
6 b kk ll
7 c mm nn
8 c oo pp
9 c qq rr
10 d ss tt
11 d uu vv
12 d ww xx
求一条sql 要求按Class组循环每取最新条一条记录重新排列,排序后结果以下,
数据较多,望高手写条高效的sql,高分酬谢。
12 d ww xx
9 c qq rr
6 b kk ll
3 A ee ff
11 d uu vv
8 c oo pp
5 b ii jj
2 A cc dd
10 d ss tt
7 c mm nn
4 b gg hh
1 A aa bb
------解决方案--------------------select ID Class Content Content2, 求余(ID,3) as new_id from table_a order by new_id ,id desc
------解决方案--------------------求余函数不记得SQL Server是否有,如果没有可以自己写一个
------解决方案-------------------- select id,Class, Content ,Content2 from table order by ((id-1)%3) desc,id desc
------解决方案--------------------if object_id( 'pubs..tb ') is not null
drop table tb
go
create table tb(ID int,Class varchar(10),Content varchar(10),Content2 varchar(10))
insert into tb(ID,Class,Content,Content2) values(1 , 'A ', 'aa ', 'bb ')
insert into tb(ID,Class,Content,Content2) values(2 , 'A ', 'cc ', 'dd ')
insert into tb(ID,Class,Content,Content2) values(3 , 'A ', &