我下表具有MAX值:TSQL-获取取决于另一列
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的年和位置的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
任何帮助将不胜感激。
为两行同档次真正的坏榜样 – Paparazzi