SQL查找所有用户之间的共同特征

时间:2019-04-10 02:08:29

标签: mysql sql

我正试图从所有用户中检索共同特征。

  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 个答案:

答案 0 :(得分:1)

您可以使用聚合:

select ut.trait
from usertraits ut
group by ut.trait
having count(*) = (select count(distinct ut2.user) from usertraits ut2);