我在Access中有一个表格,可以保存学生之前的资格。每个学生有多行,取决于他们以前的资格。数据具有资格年份。
我想创建一个只有最新资格的子查询(即最近一年)。我在今年的查询中尝试了max
和last
,但由于我带出了其他字段,它仍在提取所有资格而不仅仅是最新资格。
StudentID Qualificationlevel QualificationType MaxOfYearAwarded
10203 Postgraduate/Masters MSc 2016
10203 Undergraduate BSc 2013
因此,在上面的示例中,我希望仅在2016年之前拉出最上一行,因此比2013年晚。
任何帮助都将不胜感激。
答案 0 :(得分:1)
相当简单的任务 只需使用子查询作为条件。
要对查询进行分组,请在子查询中使用WHERE
条件。请注意,由于我们要两次查询同一个表,我们需要使用表别名
SELECT *
FROM MyTable t
WHERE t.YearAwarded = (
SELECT Max(s.YearAwarded)
FROM MyTable s
WHERE s.StudentID = t.StudentID
)