0
使用以下查询和结果,我正在查找EmpId唯一的一个月内的最新条目。下面的查询不会给我想要的结果。在一个月内选择最近的记录?
SELECT M.Name, M.Score, MAX(M.TestDate) FROM myTable M
GROUP BY M.Name, M.Score, M.TestDate
ORDER BY M.TestDate
myTable
EmpId TestId Score Name TestDate
1 1 MATH 90 4/1/2008
1 1 MATH 100 4/6/2008
1 1 MATH 70 4/15/2008
2 1 MATH 70 5/1/2008
2 1 MATH 80 5/6/2008
2 1 MATH 100 5/15/2008
期望:
EmpId TestId Score Name TestDate
1 1 MATH 70 4/15/2008
2 1 MATH 100 5/15/2008
我认为CTE的例子就是要走的路。 –
我通常使用'CTE'方法,但我认为'ROW_NUMBER()'版本更简洁并且写得更简单。 – JoeFletch
@MikeHenderson和@JoeFletch“GROUP BY”和“ROW_NUMBER()”示例都可以与CTE或SubQuery交换。 'ROW_NUMBER()'与CTE将是我的第一选择:) –