SQL, чтобы найти общие черты среди всех пользователей - PullRequest
0 голосов
/ 10 апреля 2019

Я пытаюсь получить только общие черты от всех пользователей.

  User(u)Trait(t)
  u1      t1
  u1      t2
  u1      t3
  u2      t2
  u2      t3
  u2      t4
  u3      t2
  u3      t3
  u3      t4

example dataset

Я пытаюсь присоединить таблицу к себе, но не получаюжелаемый результат.

Я ожидаю, что выход вышеупомянутого будет t2 и t3, и это единственные черты, которые присутствуют во всех 3 пользователях.

1 Ответ

1 голос
/ 10 апреля 2019

Вы можете использовать агрегацию:

select ut.trait
from usertraits ut
group by ut.trait
having count(*) = (select count(distinct ut2.user) from usertraits ut2);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...