MSSQL: только последняя запись в GROUP BY (с идентификатором)

Следуя / копируя вопрос computhomas , но добавляя некоторые особенности ...

У меня есть следующая таблица в MSSQL2008

id | business_key | result | date
1 | 1 | 0 | 9
2 | 1 | 1 | 8
3 | 2 | 1 | 7
4 | 3 | n | 6
5 | 4 | 1 | 5
6 | 4 | 0 | 4

И теперь я хочу сгруппировать на основе business_key, возвращающего заполните запись с самой последней датой. Итак, мой ожидаемый результат:

id | business_key | result | date
1 | 1 | 0 | 9
3 | 2 | 1 | 7
4 | 3 | n | 6
5 | 4 | 1 | 5

Я также держу пари, что есть способ добиться этого, я просто не могу найти / увидеть / подумать об этом в данный момент.

edit: извините за это, я действительно кое-что имел в виду еще из исходного вопроса я сделал. Мне казалось, что отредактировать это будет лучше, чем принять решение и задать еще один вопрос. Моя первоначальная проблема заключалась в том, что я не выполняю фильтрацию по идентификатору.

6
задан Community 23 May 2017 в 10:27
поделиться