= 1 OR peer_id = 2 GROUP BY peer_id.
мне нужно получить все поля, а не только peer_id и max.
SELECT *, MAX(created_at) FROM message WHERE peer_id = 1 OR peer_id = 2 GROUP BY peer_id не работает и выдает ошибку: "столбец "message.message_id" должен фигурировать в предложении GROUP BY или использоваться в агрегатной функции"
подскажите, пожалуйста, как все исправить?..
вам надо понять, что группировка — это сворачивание данных по каким-то условиям. и сделать SELECT * при этом — никак можно пробовать так: SELECT *, max(created_at) OVER (PARTITION BY peer_id) WHERE peer_id in (1,2); но это не группировка
Хмм... мне кажется, или Вы уже задавали именно этот вопрос раньше (и я Вам уже отвечал)? И да, https://t.me/pgsql/231014 Вы что, не нашли ничего?!
Обсуждают сегодня