У меня есть таблица вроде этого:Как отделить группу, если существует значение в нескольких категориях
CREATE TEMP TABLE users_category
(
user_id int,
category_id int
);
insert into users_category (user_id, category_id)
values (100, 1), (100, 2), (103, 4), (105, 4), (106, 2), (107, 1)
Тогда я пытаюсь подсчитать, сколько пользователей используют категории, как:
select category_id,count(*)
from users_category
group by category_id
Response is:
category_id count
4 2
1 2
2 2
Как добавить логику, если пользователи более чем в одной категории, вычислите ее в других категориях.
Например, пользователь 100 существует в категориях 1 и 2, и я не буду рассчитать его для обеих категорий. Я хочу добавить новую категорию ex. 99 и должны добавлять туда пользователей.
Ответ должен быть как:
category_id count
4 2
1 1
2 1
99 1 (user who was in both category)
Как это сделать?
спасибо, что хорошо работает – GeoVIP