Я пытаюсь написать запрос в Postgresql, который вытягивает набор упорядоченных данных и фильтрует его отдельным полем. Мне также нужно вытащить несколько других полей из одной и той же строки таблицы, но они должны быть исключены из отдельной оценки. Пример:
SELECT DISTINCT(user_id) user_id,
created_at
FROM creations
ORDER BY created_at
LIMIT 20
Мне нужно user_id быть DISTINCT, но все равно, уникальна ли дата created_at. Поскольку дата created_at включена в оценку, я получаю дубликат user_id в моем результирующем наборе.
Кроме того, данные должны быть заказаны по дате, поэтому использование DISTINCT ON здесь не является опцией. Он потребовал, чтобы поле DISTINCT ON было первым полем в предложении ORDER BY и которое не доставляет результаты, которые я ищу.
Как правильно использовать предложение DISTINCT, но ограничивать его область видимости только одним полем при выборе других полей?