У меня есть этот запросSQL Server: агрегат для одного результата
SELECT Client.ClientNo,
Client.ContactName,
Deal.Currency,
MAX(Deal.DealDate)
FROM Deal
JOIN Client ON Deal.ClientNo = Client.ClientNo
GROUP BY Client.ClientNo, Client.ContactName, Deal.Currency;
, который дает мне результат
1 John Smith EUR 2014-10-07
1 John Smith GBP 2014-11-12
2 Jane Doe GBP 2014-09-17
2 Jane Doe USD 2014-12-23
1 John Smith USD 2013-11-13
2 Jane Doe EUR 2012-09-06
Проблема заключается в том, что мне нужно агрегированный результат с последней даты каждого клиента, как это :
1 John Smith GBP 2014-11-12
2 Jane Doe USD 2014-12-23
Как я могу изменить свой запрос, чтобы достичь этого?
UPDATE Благодаря jarlh за ответ, но я пропустил что-то - если есть повторяющиеся строки - он будет оставаться в результате, глядя, как это:
1 John Smith GBP 2014-11-12
1 John Smith GBP 2014-11-12
2 Jane Doe USD 2014-12-23
Любой способ сделать это Работа?
Спасибо за ответ, но я забыл упомянуть о возможности дублированных результатов, поясняются в обновлении – Caballero
Просто добавил DISTINCT в ваш запрос, и теперь он работает как положено. – Caballero