相当于
select * from employee where emp_id in(select distinct emp_id from(select top 50 with ties * from employee order by emp_id)t)
select * from employee where emp_id in(select distinct emp_id from(select top 50 with ties * from employee order by emp_id)t)
select top 0 * into #test from employeedeclare @s_empid varchar(20)declare c_getempid cursor for
select distinct emp_id
(
select top 50 * from employee order by emp_id
) as info
open c_getempid
fetch next from c_getempid into @s_empid
while @@fetch_status = 0
begin
insert #test
select top 50 * from employee where emp_id = @s_empid order by emp_id
fetch next from c_getempid into @s_empid
end
close c_getempid
这句的意思是按emp_id从小到大的顺序取employee的前50条记录,如果第50条的emp_id重复,那么这个emp_id号的记录都取出来,这样取出来的记录就不止50条了