0

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

1 回答 1

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
于 2013-01-30T16:46:56.670 回答