首页 新闻 会员 周边 捐助

[sql] 1对多表关联,取最近的一条记录

0
悬赏园豆:15 [已解决问题] 解决于 2013-08-23 11:09

考生表(A)                  

      考生表
StuId Name
1 A1
2 A2
   

成绩表 (B)                                                                  

成绩表
id StuId Score SubmitTime
0 1 5 20130105
1 2 6 20130105
2 2 8 20130106
3 1 4 20130106
4 2 5 20130104
5 1 2 20130107

 

如果通过A表连接B表获取考试最近一次考试的成绩,也就是A和B连接只查询B中最新的一条数据

Seven_boy的主页 Seven_boy | 初学一级 | 园豆:50
提问于:2013-08-21 10:48
< >
分享
最佳答案
1

又是这号问题:

分组统计,取排名为1的数据

SELECT A.Name,
       B.*,
       row = ROW_NUMBER() OVER(PARTITION BY A.StuId ORDER BY B.SubmitTime DESC)
FROM   A
       JOIN B
            ON  A.StuId = B.StuId ) AS t WHERE  t.row = 1
收获园豆:15
幻天芒 | 高人七级 |园豆:37205 | 2013-08-21 11:15
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册