Есть запрос, возвращающий следующие данные:
| ID | Sum | UserID | TaskID |
|---|
| 2700 | 98 | 2252 | 356 |
| 2701 | 100 | 2252 | 356 |
| 2702 | 100 | 2252 | 356 |
| 2703 | 56 | 2253 | 356 |
| 2704 | 100 | 2253 | 356 |
Нужно выбрать из этого запроса (другим запросом) для каждого UserID и TaskID максимумы по полю Sum и вернуть всю строку (c ID). Если есть одинаковые суммы, то вернуть последнюю. В итоге должна получится такая таблица:
| ID | Sum | UserID | TaskID |
|---|
| 2702 | 100 | 2252 | 356 |
| 2704 | 100 | 2253 | 356 |
Запрос вроде простой, но проблемы возникли с выбором правильного ID (это не первичный ключ, а просто столбец возвращаемый другим запросом) для максимальной суммы - никак не получается выбрать тот, который соответствует нужной максимальной сумме.