SELECT A.ConfirmationCodeID, B.OverdueDate, C.CourseName FROM A INNER JOIN B ON A.ConfirmationCodeID = B.id INNER JOIN C ON B.CourseID = C.id
OverdueDate 是日期行
结果会有 多行
求 在 CourseName相同的时候 只保留最大OverdueDate的 那行
问题是 我直接使用 max(OverdueDate) 没有效果
请指教
------解决方案--------------------
试试这个:
select ConfirmationCodeID, OverdueDate, CourseName
from
(
SELECT A.ConfirmationCodeID, B.OverdueDate, C.CourseName ,
ROW_NUMBER() over(partition by CourseName order by OverdueDate desc) rownum
FROM A INNER
JOIN B ON A.ConfirmationCodeID = B.id
INNER JOIN C ON B.CourseID = C.id
where v = 26
)t
where rownum = 1