У меня есть tableA
диапазонов дат:SQL Server найти самый последний диапазон дат
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 вернул ошибку, связанную с 'having', на что-то в этом роде - проблема с агрегатами.
Грэкиас :)
Что делать, если одна строка имеет максимальную дату начала, а другая имеет максимальную дату окончания? –
Возможный дубликат [SQL Server: SELECT только строки с MAX (DATE)] (https://stackoverflow.com/questions/7118170/sql-server-select-only-the-rows-with-maxdate) – Vadzim