相似度最高的成员 table

Most similar members in one table

在 table Member_Element...(InnoDB,mysql 通过 maria db)

  Member  Element
  1       A
  1       B
  1       C
  1       E
  2       A
  2       B
  2       C
  2       D
  3       A
  3       D

我想得到与成员 1 具有最常见元素的成员(以及相似度的百分比。)成员 2 与成员 1 有共同的 A、B、C,应该是 "winner"因为成员 3 只有 A 共同点。

我有的是:

SELECT Member,Element
FROM Member_Element
WHERE Member=1 
 AND Element IN (SELECT Element
                 FROM Member_Element
                 GROUP BY Element
                 HAVING count(*)>1)

给出:元素 A、B、C ...,希望的结果集为:2(成员 2)

我想我需要帮助才能完成下一步并将所有子查询放在一起。

我看到了 "SQL- Selecting the most similar product",但它对我的理解和需要来说太复杂了。

为什么不使用简单的连接?

SELECT a.member, count(a.member) as total 
FROM t1 a JOIN t1 b 
WHERE a.element=b.element AND b.member=1 AND a.member > 1 
GROUP BY a.member ORDER BY total DESC