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將是我的第一選擇:) –