select 语句
用select 写出 '每个月成绩最好 '的前3名同学名称
student (id,name,cj,rq)
select top 3 * from student where *********** order by cj desc
union all
select top 3 * from student where *********** order by cj desc
有没有简单的
用select 一步^_^
------解决方案-------------------- create table student(id int, name varchar(10), cj int, rq datetime)
insert student select 1, 'AA ', 68, '2007-01-02 '
insert student select 2, 'BB ', 88, '2007-01-02 '
insert student select 3, 'CC ', 90, '2007-01-02 '
insert student select 4, 'DD ', 65, '2007-01-02 '
insert student select 5, 'EE ', 70, '2007-01-02 '
insert student select 1, 'AA ', 78, '2007-02-02 '
insert student select 2, 'BB ', 80, '2007-02-02 '
insert student select 4, 'DD ', 90, '2007-02-02 '
insert student select 5, 'EE ', 84, '2007-02-02 '
select * from student as tmp
where
(select count(*) from student
where convert(char(7), rq, 120)=convert(char(7), tmp.rq, 120) and cj> tmp.cj) <3
order by rq, cj desc
--result
id name cj rq
----------- ---------- ----------- ------------------------------------------------------
3 CC 90 2007-01-02 00:00:00.000
2 BB 88 2007-01-02 00:00:00.000
5 EE 70 2007-01-02 00:00:00.000
4 DD 90 2007-02-02 00:00:00.000
5 EE 84 2007-02-02 00:00:00.000
2 BB 80 2007-02-02 00:00:00.000
(6 row(s) affected)