我有一个MySQL表,用于存储班级中所有学生的考试成绩。每条记录都有以下3个字段:student_id,年级和日期(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
答案 0 :(得分:2)
这将为您提供MIN日期记录
select
m.*
from mytable as m
inner join (select
id,
min(id)
from mytable
group by id) as l
on l.id = m.id