从表中获取行,并为另一列指定了两个

时间:2018-10-19 16:20:13

标签: mysql subquery

movie_id genre_id
6           2
6           7
3           2    

我需要使用子查询来获取genre_id分别为2和7的movie_id,而不要加入。

2 个答案:

答案 0 :(得分:0)

您可以将Group ByHaving结合使用来过滤:

SELECT 
  movie_id 
FROM your_table_name 
GROUP BY movie_id 
HAVING SUM(genre_id = 2) AND 
       SUM(genre_id = 7)

答案 1 :(得分:0)

我要查询类型2和7的电影,并计算不同类型的数量:

SELECT   movie_id
FROM     mytable
WHERE    genre_id IN (2, 7)
GROUP BY movie_id
HAVING   COUNT(DISTINCT genere_id) = 2