MySQL,最小日期查询

时间:2013-01-30 16:43:27

标签: mysql

我有一个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

1 个答案:

答案 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