У меня есть таблица сообщений с полями channel_number, body, creation_at, recipeint_id & sender_id. Я хочу, чтобы сообщения различались по channel_number и упорядочены по messages.created_at
В основном я хочу показать все каналы в пагинациях и каналах. с последним сообщением будет наверху. Вот что я попробовал:
SELECT *
FROM messages
where id IN ( (SELECT channel_number, MIN(id) AS messages_id
FROM messages
GROUP BY channel_number
) as a
) a.messages_id
ORDER BY a.messages_id DESC;
Я работал над этим пару часов и сделал много запросов, но это не сработало, потому что в результатах мне нужны все поля сообщения вместо выбранных channel и id.
Правки - я использую postgres, и в таблице сообщений
нет ограничений uniq на channle_number.