кто подскажет мне что делать?
Я Вам и так подсказал, по-моему, уже всё. ;) Вы поняли, что DISTINCT = GROUP BY, и у Вас, как вы сказали, есть поля, которые в GROUP BY не входят? Поэтому Вам нужно [было] решить, что с ними делать. Ну и т.д. (Если непонятно, я могу показать часть запроса "над" (...) AS a).
спасибо. я подожду может появится кто для таких глупых как я может доступно объяснить.
Да что тут объяснять-то?! Вот начиная отсюда, например: https://t.me/pgsql/260440 WITH a (id, email, secret, book_title) AS ( VALUES ('a', 'b', 'c', 'd'), ('a', 'b', 'g', 'h'), ('a', 'b', 'w', 'z') ) SELECT id, email, json_agg(json_build_object('secret', secret, 'book_title', book_title)) AS j -- это Вам нужно получить? FROM a GROUP BY id, email; -- Или так: WITH a (id, email, secret, book_title) AS ( VALUES ('a', 'b', 'c', 'd'), ('a', 'b', 'g', 'h'), ('a', 'b', 'w', 'z') ) SELECT id, email, json_agg(to_json(k)) AS j FROM a CROSS JOIN LATERAL (SELECT secret, book_title) AS k GROUP BY id, email;
Обсуждают сегодня