首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

想求出 每位学号 每门课程的最低分的id ,无限感谢!该怎么解决

2012-01-29 
想求出 每位学号 每门课程的最低分的id ,无限感谢!!!成绩表字段\记录如下:学号课程分数id20040001中兽医学

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

热点排行