Перепроверил. Приношу извинения, я ошибся. Важное уточнение: не первичный ключ id, а именно внешний ключ. То есть столбцы такие: FID, Result, Time.
Группировать по id конечно же нет смысла.
Таблица одна, но группировка идет по FID.
Агрегируем время, надо получить не это:
Увы, но это вывод максимального результата, поэтому это не подойдет. Мне необходимо максимальная дата, а результат - тот который соответствует дате.
Например если в таблице будут такие данные:
id Result Time
3 4 80
3 6 60
То Ваш запрос покажет в колонке Результат число 6, а не 4:
id Result Time
3 6 80
Вот например аналог с оконными функциями и 2умя таблицами. Как бы написать тоже самое, только просто?
SELECT DISTINCT t.id
, FIRST_VALUE(t2.result) OVER(PARTITION BY t.id ORDER BY t2.time desc) LastResult
, FIRST_VALUE(t2.time) OVER(PARTITION BY t.id ORDER BY t2.time desc) LastTime
from Table t
join Table2 t2 on t2.id = t.id
ORDER BY t.id;