一个比较难的问题,数据排序问题!
--'原始数据
declare @table table(a1 int,a2 int,Data int)
insert into @table select 1,1,10
insert into @table select 2,1,11
insert into @table select 3,1,12
insert into @table select 4,1,13
insert into @table select 5,2,10
insert into @table select 6,1,11
insert into @table select 7,1,12
insert into @table select 8,1,13
--'结果数据
declare @Result table(a1 int,a2 int,Data int,Seq int)
insert into @Result select 1,1,10,1
insert into @Result select 2,1,11,2
insert into @Result select 3,1,12,3
insert into @Result select 4,1,13,4
insert into @Result select 5,2,10,1
insert into @Result select 6,1,11,2
insert into @Result select 7,1,12,3
insert into @Result select 8,1,13,4
--'原始数据
select * from @table
--'想通过批处理得到如下所示结果结果:(将a1与a2中的数据进行排序)
select * from @Result
--类似于这种方法,我没成功,请大家帮忙(不用游标)
set nocount on
SELECT a.a1,count(b.Data)+1 as nCount
FROM @table a
left outer join @table b
on a.a1=b.a1 and a.Data<b.Data
group by a.a1 order by a.a1,count(b.Data)+1