这三个陈述(为简单起见有点做作)是:
SELECT `user_id` WHERE `movie_id` = 1
SELECT `user_id` WHERE `movie_id` = 2
SELECT `user_id` WHERE `movie_id` = 3
我想做的是双重的:
我确信有一种简单的方法可以做到,但我不是最强大的SQL用户,所以感谢所有的帮助!
答案 0 :(得分:2)
Select count(distinct movie_ID), user_ID
from table where move_Id in (1,2,3)
group by user_ID
Having count(distinct Movie_ID) = 3
这样做是为每个user_ID获取不同的电影数量。然后它将结果限制为只有那些计数为3的用户。
答案 1 :(得分:1)
对我来说最简单的方法似乎是:
SELECT user_id FROM table_name WHERE movie_id IN (1,2,3);
或者你可以使用xQbert建议的UNION方法,但我会运行一个EXPLAIN查询来查看哪个SQL语句提供了最有效的结果。