sql—跨行选择具有多个条件的行

iyfamqjs  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(468)

我有一张这样的table:

MovieID PersonID
1       1
1       2
1       3
1       4
2       6
2       1 
etc.

如何选择人像1和人像2同时出现的所有电影ID(不同)?
我试过这样的方法:

(SELECT movie_id
 FROM stars
 WHERE person_id = (SELECT XXX)
 AND person_id = (SELECT XXX)
)

但很显然,这不起作用,因为每行只有一个人的身份证。

7kqas0il

7kqas0il1#

我只想使用聚合:

select t.movie_id
from t
where t.person_id in (1, 2)
group by t.movie_id
having count(*) = 2;

相关问题