我有下表
Name Subject Month Year
----- ----------- ----- ----
Raju History 1 2011
Ravi Chemistry 10 2010
Raju Computers 12 2011
Raju Physics 10 2010
Raju English 6 2011
Ravi Mathematics 10 2010
Sunil English 5 2011
Raju History 5 2011
Raju History 6 2011
我想要的结果如下
Name Subject Latest_Month_Attended Latest_Year_Attended
----- ----------- --------------------- --------------------
Raju History 6 2011
Raju Computers 12 2011
Raju Physics 10 2010
Raju English 6 2011
Ravi Chemistry 10 2010
Ravi Mathematics 10 2010
Sunil English 5 2011
我想查找特定学生和学科的最新月份和年份
请帮我得到上面的结果
最佳答案
试试这个(已编辑):
select t1.Name, t1.Subject, max(month) as Latest_Month_Attended, t2.year as Latest_Year_Attended
from tab t1
join (
select Name, Subject, max(year) as year
from tab
group by Name, Subject
) t2 on t1.name = t2.name and t1.subject = t2.subject and t1.year = t2.year
group by t1.Name, t1.Subject, t2.year
关于sql-server-2005 - 在表中查找不同记录的最新月份和年份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8414215/