日期:2014-05-18 浏览次数:20711 次
declare @t table([id] int NOT NULL,pname varchar(10) NULL,num int NULL)
insert into @t select 1,'a',11
union all select 2,'a',23
union all select 3,'b',34
union all select 4,'b',45
union all select 5,'c',56
union all select 6,'b',78
union all select 7,'d',99
union all select 8,'g',100
declare @s bigint,@min int
select @s = sum(n) from (
select pname p,max(num) n from @t group by pname) a
if @s < 200
begin
select '没有符合条件的记录'
return
end
select @s = sum(n) from (select pname p,min(num) n from @t group by pname) a
set @min = 0
while @s <200
begin
select @min = min(num) from @t where num > @min
select @s = sum(n) from (select pname p,min(num) n from @t where num > @min group by pname) a
end
select @s
select pname p,min(num) n from @t where num > @min group by pname