mysql连接结果(如果只有所有功能)

mysql连接结果(如果只有所有功能),mysql,sql,mariadb,Mysql,Sql,Mariadb,我有一个包含所有功能的复选框。用户可以选择一些功能。 如何列出所有已选择所有功能的人员 person - id - name features - id - name person_feature - person_fk - feature_fk 例如,仅具有特征1、5和9的人 不是特征1和特征5的人。。。只有同时使用此功能才能确认。。。只提供,或至少提供。例:如果用户想要功能1、5、9,但有些人有 (1, 2, 5, 8, 9), (1, 5, 6, 7, 9), (1, 5, 9

我有一个包含所有功能的复选框。用户可以选择一些功能。 如何列出所有已选择所有功能的人员

person
- id
- name

features 
- id
- name

person_feature
- person_fk
- feature_fk
例如,仅具有特征1、5和9的人
不是特征1和特征5的人。。。只有同时使用此功能才能确认。。。只提供,或至少提供。例:如果用户想要功能1、5、9,但有些人有

(1, 2, 5, 8, 9), 
(1, 5, 6, 7, 9), 
(1, 5, 9, 12)... 
这些都会被认为是正常的,因为它们至少有1,5和9,你正在寻找

select
      pf.person_fk,
      p.name
   from
      person_feature pf
         join person p
            on pf.person_fk = p.id
   group by
      pf.person_fk,
      p.name
   having 
      sum( case when pf.feature_fk in ( 1, 5, 9 ) then 1 else 0 end ) >= 3

如果您只想要正好有3个的查询,只需将>=更改为just=

请共享当前查询,查看您取得了多大的成绩,或者您是以何种方式开始的,它在哪里需要帮助。否则,这就像你要求SO社区做你的家庭作业一样。