私は以下の表を持っているに応じて、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等級を取得する必要があります。
期待される結果:私は、次のselect文を試してみました
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 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