Я просто вивчаю SQL, отже, я борюся трохи, щоб отримати результат, який я хотів би.
Припустимо, у мене є таблиця X, показана нижче:
-------Date ------- Part ------- Value
01-01-2005 A 200
01-01-2006 A 100
01-01-2007 A 300
02-02-2010 B 450
02-02-2011 B 320
і від X я "хотів би отримати ці:
-------Date ------- Part ------- Value
01-01-2007 A 300
02-02-2011 B 320
В основному, я хочу зробити для кожної окремої частини лише один запис - той, який має останню дату. Стовпчик значення повинен залишатися в результаті!
Як це зробити (якщо вважати, що це можливо)? Я буду вдячний за будь-яку допомогу.
Відповіді:
2 для відповіді № 1;WITH LatestRecords
AS
(
SELECT *, rn = ROW_NUMBER() OVER (PARTITION BY PART ORDER BY [Date] DESC)
FROM TABLEX
)
SELECT * FROM LatestRecords
WHERE rn = 1