Заголовок может быть плохим, не могу придумать лучшего.
Мои данные комментариев, каждый комментарий присваивается учетной записи usernameChannelId:
usernameChannelId | hasTopic | sentiment_sum | commentId
a | 1 | 4 | xyxe24
a | 0 | 2 | h5hssd
a | 1 | 3 | k785hg
a | 0 | 2 | j7kgbf
b | 1 | -2 | 76hjf2
c | 0 | -1 | 3gqash
c | 1 | 2 | ptkfja
c | 0 | -2 | gbe5gs
c | 1 | 1 | hghggd
Мой код:
SELECT u.usernameChannelId, avg(sentiment_sum) sentiment_sum, u.hasTopic
FROM total_comments u
WHERE u.hasTopic is True
GROUP BY u.usernameChannelId
HAVING count(u.usernameChannelId) > 0
UNION
SELECT u.usernameChannelId, avg(sentiment_sum) sentiment_sum, u.hasTopic
FROM total_comments u
WHERE u.hasTopic is False
GROUP BY u.usernameChannelId
Я хочу получить все usernameChannelIds, у которых есть хотя бы 1 комментарий с hasTopi c == 0 и 1 комментарий с hasTopi c == 1 (для статистического сравнения обеих групп и удаления только пользователя, который только прокомментировал видео topi c или offtopi c).
Как я могу фильтровать таким образом?