想求出 每位学号 每门课程的最低分的id ,无限感谢!!!
成绩表
字段\记录如下:
学号 课程分数id
20040001 中兽医学57 3248939
20040001 中兽医学86 4063589
20040001 计算机 80 4000215
20050002 计算机80 5000212
20050002 营销学 70 5000213
想求出每位学号 每门课程的最低分的id,郁闷很久了,没搞定,今天来请教各位大师,无限感激!!
[解决办法]
http://community.csdn.net/Expert/topic/5073/5073353.xml?temp=.600445
[解决办法]
create table #t(学号 varchar(10), 课程 nvarchar(10),分数 int, id varchar(10))
insert #t select '20040001 ', N '中兽医学 ',57, '3248939 '
union all select '20040001 ',N '中兽医学 ',86, '4063589 '
union all select '20040001 ',N '计算机 ', 80, '4000215 '
union all select '20050002 ', N '计算机 ',80, '5000212 '
union all select '20050002 ', N '营销学 ', 70, '5000213 '
select id from #t t1
join
(
select 学号,课程, min(分数) [分数] from #t
group by 学号,课程
) t2 on t1.学号=t2.学号 and t1.课程=t2.课程 and t1.分数=t2.分数
order by t1.学号
/*
id
----------
3248939
4000215
5000213
5000212
*/
drop table #t
注意有可能出现学号,课程, 分数全都相同的两条数据。