Mysql - 获取满足数组中所有值的记录

时间:2015-07-28 12:21:33

标签: mysql arrays

我有一个包含字段的表

id  job_id  skill_id
1    1         1
2    1         2
3    1         3
4    2         1
5    3         1
6    3         2 
7    3         3 

并且有一组值(skill_ids)(1,2,3)

让所有job_ids拥有所有这些skill_id的最佳方法是什么(即我希望得到1和3作为我的结果集)。

提前致谢!

2 个答案:

答案 0 :(得分:1)

使用group byhaving。您要构建的SQL可能如下所示:

select job_id
from table t
where skill_id in (1, 2, 3)
group by job_id
having count(*) = 3;

答案 1 :(得分:0)

您可以使用所有

像这样的东西: SELECT job_id FROM table WHERE skill_id = ALL(1,2,3)

http://community.sitepoint.com/t/mysql-any-and-all-subquery-keywords/5533