我有下表:
yr location entry_date student grade
----|--------|----------|-------|-----
2014| A |2013-12-12| Tom | 8th
2015| B |2014-11-11| Tom | 9th
2016| B |2015-09-07| Tom | 10th
2016| B |2016-10-20| Tom | 11th
我需要根据entry_date获得yr和位置的MAX等级。
预期结果:
yr location entry_date student grade
-----|--------|----------|-------|-----
2014 | A |2013-12-11| Tom | 8th
2015 | B |2014-11-11| Tom | 9th
2016 | B |2016-10-20| Tom | 11th
我尝试了以下select语句:
SELECT distinct max_yr.yr,
location,
max_date.entry_date,
u.student,
grade
from user_table u
inner join (SELECT student,
max(entry_date) as entry_date
from user_table
group by student) max_date on
u.student = max_date.student
and u.entry_date = max_date.entry_date
inner join (SELECT student,
max(yr) as yr
from user_table
group by student) max_yr
on u.student=max_yr.student
and u.yr = max_yr.yr
此语句仅返回1条记录:
yr location entry_date student grade
-----|---------|-----------|--------|------
2016 | B |2016-10-20 | Tom | 11th
非常感谢任何帮助。