insert into @t values(\'一班\',\'A1\',\'50\')
insert into @t values(\'一班\',\'A2\',\'60\')
insert into @t values(\'一班\',\'A3\',\'70\')
insert into @t values(\'一班\',\'A4\',\'80\')
insert into @t values(\'一班\',\'A5\',\'90\')
insert into @t values(\'二班\',\'B1\',\'60\')
insert into @t values(\'二班\',\'B2\',\'70\')
insert into @t values(\'二班\',\'B3\',\'50\')
insert into @t values(\'二班\',\'B4\',\'80\')
insert into @t values(\'二班\',\'B5\',\'90\')
insert into @t values(\'三班\',\'C1\',\'50\')
insert into @t values(\'三班\',\'C2\',\'60\')
insert into @t values(\'三班\',\'C4\',\'70\')
insert into @t values(\'三班\',\'C3\',\'80\')
insert into @t values(\'三班\',\'C5\',\'90\')
insert into @t values(\'三班\',\'C6\',\'100\')
insert into @t values(\'三班\',\'C7\',\'60\')
insert into @t values(\'三班\',\'C8\',\'70\')
insert into @t values(\'三班\',\'C9\',\'80\')
insert into @t values(\'三班\',\'C10\',\'90\')
select top 4 sum(scorce)as scorce,class, student from @t a where class = \'一班\' group by a.class, a.student
union
select top 4 sum(scorce)as scorce,class, student from @t a where class = \'二班\' group by a.class, a.student
union
select top 4 sum(scorce)as scorce,class, student from @t a where class = \'三班\' group by a.class, a.student
order by a.scorce desc作者: marswg 时间: 2005-11-08 14:26
如果我有100个班,是不是一定要写99个union呢,而且,还是hardcode的,如果班级数不定呢?作者: twslh 时间: 2005-11-08 14:43
SELECT *
FROM aa a
WHERE EXISTS
(SELECT 1
FROM ((SELECT TOP 40 percent b.student
FROM aa b
WHERE a.class = b.class
order by b.scorce desc