我有一个 MySQL 表,用于存储班级中所有学生的考试结果。每条记录有以下 3 个字段:student_id、grade 和 date(unix 时间格式)。考虑到并非所有学生都参加了所有考试,并且有些学生在年初之后加入了学校,那么最简单的查询是获取每个学生最早考试的日期、年级和 student_id 的最简单的方法是什么?
这是基于 Raheel Shan 的回答的最终答案(我不喜欢回答我自己的问题)
SELECT m.*
FROM class AS m
INNER JOIN (
SELECT student_id, MIN(date) AS date
FROM class
GROUP BY student_id) as l
ON l.date = m.date
AND l.student_id = m.student_id