Привет! Как вытащить записи с уникальными именмиа файлов последней версии или последней даты создания для определенного юзера (т.е. filename не должен повторятся, а если повторяется выводить последнюю версию либо дату создания (не важно) ).
Есть таблица
| id | filename | user_id | version | created_at |
| --- | -------- | ------- | ------- | ---------- |
| 1 | one | 1 | 1 | 2022-01-01 |
| 2 | one | 1 | 2 | 2022-01-02 |
| 3 | some | 1 | 1 | 2022-01-03 |
| 4 | some | 2 | 1 | 2022-01-03 |
В результате должно быть
| id | filename | user_id | version | created_at |
| --- | -------- | ------- | ------- | ---------- |
| 2 | one | 1 | 2 | 2022-01-02 |
| 3 | some | 1 | 1 | 2022-01-03 |
Попытался сделать через DISTINCT ON, но так получаю ошибку из-за сортировки.
SELECT DISTINCT ON (filename, user_id) *
FROM block
WHERE user_id = 1
ORDER BY created_at