Я использую этот код: (из этого вопроса: Как получить последнюю запись для каждой группы в SQL, заменяя мои собственные столбцы)
WITH e AS
(
SELECT *,
ROW_NUMBER() OVER
(
PARTITION BY ApplicationId
ORDER BY theDate DESC
) AS Recency
FROM [Event]
)
SELECT *
FROM e
WHERE Recency = 1
Можно ли "разделять" только в том случае, если два поля одинаковы? Например, у меня есть такие данные:
ID Name theDate
123 John 01/01/2012
123 John 01/02/2012
123 Doe 01/01/2012
456 Smith 02/04/2012
789 Smith 02/01/2012
789 Smith 02/09/2012
789 Roger 02/08/2012
Из этих данных я бы хотел вернуться:
ID Name theDate
123 John 01/02/2012
123 Doe 01/01/2012
456 Smith 02/04/2012
789 Smith 02/09/2012
789 Roger 02/08/2012
Спасибо за любую помощь.
Томас