Есть много способов достичь того, что вы хотите.Учитывая, что ваша таблица имеет следующую структуру ..
CREATE TABLE blabla (user_id INT,activity_type VARCHAR,interested_rooms VARCHAR);
INSERT INTO blabla VALUES (1,'views','1,2'),
(1,'application','1'),
(1,'search','3,2');
.. вы можете попробовать CTE
..
WITH j AS (
SELECT DISTINCT user_id, unnest(string_to_array(interested_rooms,',')) AS rooms
FROM blabla ORDER BY rooms
)
SELECT user_id, array_agg(rooms) AS interested_rooms
FROM j GROUP BY user_id
.., который вернетжелаемый результат
user_id | interested_rooms
---------+------------------
1 | {1,2,3}
Обратите внимание, что использование функций unnest
и string_to_array
будет зависеть от типа данных столбца interested_rooms
который не был указан в вашем вопросе.Но это должно дать вам представление о том, что делать.Удачи!