首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >压缩3选择到一个表

压缩3选择到一个表
EN

Stack Overflow用户
提问于 2015-06-13 18:36:45
回答 2查看 31关注 0票数 2

这三条声明(为了简单起见有点做作)是:

代码语言:javascript
复制
SELECT `user_id` WHERE `movie_id` = 1
SELECT `user_id` WHERE `movie_id` = 2
SELECT `user_id` WHERE `movie_id` = 3

我想做的是两个方面:

  1. 将上面的三个连接到一个ID表中,该表匹配所有三个movie_id
  2. 使所有这一查询减少MySQL读取,以提高性能

我确信有一个简单的方法可以做到这一点,但我不是最强的SQL用户,所以感谢所有的帮助!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-06-13 18:39:38

代码语言:javascript
复制
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的用户。

票数 2
EN

Stack Overflow用户

发布于 2015-06-13 18:41:58

对我来说最简单的方法是:

代码语言:javascript
复制
SELECT user_id FROM table_name WHERE movie_id IN (1,2,3);

或者,您可以使用xQbert建议的UNION方法,但我将运行一个解释查询,以查看哪条SQL语句提供了最有效的结果。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30822221

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档