Выбрать записи при условие что она последняя

введите сюда описание изображения

имеется такой результат одного из select

нужно выбрать id(указал красным)

уловия такие: выбрать все записи у которых node_id = 3 и она последняя для task_id. (последним считается с наибольшим по полю id)

например для task_id=5 или 1 node_id=3 не последняя.


Ответы (2 шт):

Автор решения: Кирилл Новгородцев

Отсортировать по полю task_id и выбрать одну запись:

SELECT * FROM table WHERE node_id = 3 ORDER BY task_id DESC LIMIT 1;
→ Ссылка
Автор решения: Андрей К.

@nörbörnën подсказал

select * from (
  select 
    id, 
    task_id,
    max(id) over (partition by task_id) as max_id,
    node_id
  from answer
) as table
where id = max_id and node_id = 3
→ Ссылка