在我用,我有個約會,工作數據的每一行和值:通過TSQL確定一個月中任意最新的一天?
f1 f2
2012-01-01 00:00:00.000 10
2012-01-10 00:00:00.000 9
2012-02-01 00:00:00.000 19
2012-02-15 00:00:00.000 31
使用TSQL,我需要返回包含最新DAY具體年月組合的每一行 - 例如,在上面的數據中,我需要返回自2012年1月10日以來存儲的2012年1月「最新」日的第2行和第4行,2012年2月15日是2012年2月15日的最新日期。預期效果:
f1 f2
2012-01-10 00:00:00.000 9
2012-02-15 00:00:00.000 31
注意,這不是簡單地確定「每月的最後一天」或「每月的最後一個工作日」一樣簡單。
我懷疑我需要使用某種GROUP BY組合,其中包含MAX在datepart(「day」,f1)上的組合,但我在如何前進方面處於虧損狀態。有人能把我推向正確的方向嗎?
請註明您所使用的SQL Server版本。 – 2012-02-16 03:08:39
你在給定的日期有多行記錄嗎? – 2012-02-16 03:37:09
@JohnDewey提供了一個很好的觀點 - 如果第3和第4行的日期相同,你打算怎麼打破這個關係?即使您不在意,您也需要告訴SQL Server哪一行,否則每次運行查詢時可能會得到不同的結果。 – 2012-02-16 03:43:39