CREATE TABLE hard (qu char (11) ,co char (11) ,je numeric(3, 0))
insert into hard &#118alues ('A','1',3)
insert into hard &#118alues ('A','2',4)
insert into hard &#118alues ('A','4',2)
insert into hard &#118alues ('A','6',9)
insert into hard &#118alues ('B','1',4)
insert into hard &#118alues ('B','2',5)
insert into hard &#118alues ('B','3',6)
insert into hard &#118alues ('C','3',4)
insert into hard &#118alues ('C','6',7)
insert into hard &#118alues ('C','2',3)
要求查询出来的结果如下:
qu co je
----------- ----------- -----
A 6 9
A 2 4
B 3 6
B 2 5
C 6 7
C 3 4
就是要按qu分组,每组中取je最大的前2位!!
而且只能用一句sql语句!!!
选出一条记录, 然后做循环.
这么写会好懂一些?
select * from hard a where je in (select top 2 je from hard b where a.qu=b.qu order by je)