想求出 每位学号 每门课程的最低分的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
注意有可能出现学号,课程, 分数全都相同的两条数据。