我有日期範圍的tableA
:SQL服務器找到最近的日期範圍
tranid item startdate enddate
---------------------------------------
1 A 1/1/2000 2/2/2005
2 A 5/1/2000 2/2/2005
3 B 7/8/2015 9/8/2015
4 C 4/10/2007 7/20/2008
5 C 4/10/2003 7/20/2005
如何寫一個SQL查詢,只選擇最近的交易(如最近的開始和結束日期)?
例如,對於A,最近的日期範圍是5/1/2000到2/2/2005,對於C,最近的日期範圍是C 4/10/2007到7/20/2008。
我完全沒有寫這個,因爲它看起來很容易,但不是。
select item, max(enddate), max(startdate)
from tableA
where max(enddate)
group by item, enddate, startdate
SQL Server返回了一個與'有'相關的錯誤 - 聚合問題。
格拉西亞斯:)
如果一行具有最大開始日期而另一行具有最大結束日期,該怎麼辦? –
[SQL Server的可能的重複:只選擇MAX(DATE)行](https://stackoverflow.com/questions/7118170/sql-server-select-only-the-rows-with-maxdate) – Vadzim