mysql三个表,学生表、课程表、学生对应课程表,需要输出学生对应的最新记录一条课程

新手上路,请多包涵

微信图片_20200515180918.png
学生对应的课程有多个
但是有不同时间去对应的,
需要输出学生最新选择的一门课,输出包括学生名字,课程名字
求大佬

阅读 2.2k
1 个回答
新手上路,请多包涵

先做group by分组,找到最后一门课更新时间,然后根据stu_id和更新时间找到最新的选课记录,最后和student和subject表做连接

SELECT
    d. NAME,
    e.subject
FROM
    student d,
    subject e,
    (
        SELECT
            b.*
        FROM
            (
                SELECT
                    stu_id,
                    max(update_time) last
                FROM
                    my_project
                GROUP BY
                    stu_id
            ) a,
            my_project b
        WHERE
            a.stu_id = b.stu_id
        AND a.last = b.update_time
    ) c
WHERE
    c.stu_id = d.id
AND e.id = c.sub_id;
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题