当前位置: 首页 > 面试题库 >

查找具有所有值的ID(mySQL,SQL)

寇靖
2023-03-14
问题内容

考虑这样的一张桌子

ID     Value    
100    1    
100    3    
101    1    
101    4    
102    2    
102    5    
103    2    
103    4    
104    1    
104    3    
105    2    
105    5

问题是,如果我给定值2和5,我应该得到102和105,而102和105都同时具有值​​2和5,或者如果我给定值1和3,我应该得到100和104。

我如何仅用一个sql命令就能做到这一点?我需要一个尽可能轻的查询。

并使用UNION,INTERSECTION或NESTED SQL,哪个更快,更慢,更重?

在此先感谢Ergec


问题答案:

有很多解决方案。除了Jhonny的解决方案,您还可以使用联接

SELECT DISTINCT t1.id
FROM table t1, table t2
WHERE t1.id = t2.id
  AND t1.value = 2
  AND t2.value = 5

或使用相交

SELECT id FROM table WHERE value = 2

INTERSECT

SELECT id FROM table WHERE value = 5


 类似资料:
  • 问题内容: 在[成员]表中,某些行的列值相同。 有些人使用了不同的login_id,但是使用了相同的电子邮件地址,因此在此列上未设置唯一约束。现在,我需要查找这些行,并查看是否应将其删除。 我应该使用什么SQL语句查找这些行?(MySQL 5) 问题答案: 此查询将为您提供电子邮件地址及其使用次数的列表,最常用的地址在前。 如果要完整行:

  • 问题内容: 我遇到一个问题,当执行两个表的联接时,无法确定mysql查找具有两个特定“标签”和相同“ hashid”的链接 假设我的表看起来像这样: 链接 标签 我想返回同时具有“有用”和“很棒”标签的行 当前(工作/快速)查询,用于按1个标签查找链接: 阅读文章后,我尝试使用以下内容: 这 不 工作,但它是如此令人难以置信的缓慢,因为无法使用。 有人知道解决方案吗? 问题答案: 问题的类型称为

  • 问题内容: 我对Python中的字典有疑问。 这里是: 我有一个像 现在,我想通过相同的值获取所有关键元素,并将其保存在新的字典中。 新的Dict应该如下所示: 问题答案: 如果您对新字典中的列表而不是元组感到满意,则可以使用 如果您想避免使用,也可以这样做

  • 问题内容: 很抱歉,我只学习了PHP和MySQL,已经搜索了一个多星期,但是没有找到任何答案。 我创建了一个简单的财务脚本,该表如下所示: 我想要这样的结果 有人可以帮助我解决我的问题吗? 谢谢 问题答案: 正如@Quassnoi指出的那样,这对于MySQL来说不是很有效。我尝试使用怪胎连接而不是子查询,因为内部查询本身就可以使用。 编辑 对此引起了一些兴趣,发现连接版本的速度是@Quassnoi

  • 你好,我有一个mongodb find()问题查询。我试图找到在同一个对象数组中有两个特定ID的所有文档。 示例文档结构: 如果我能帮你解决这两个问题中的任何一个,那就太好了!谢了。

  • 问题内容: 我在数据库中有一个表,记录如下: 我的用户为每个匹配项选择一个猜测,我有一个函数可以根据匹配结果计算猜测的结果:如果猜测正确,则结果为(1)如果错误,则结果为(2 ),如果比赛还没有结束,结果将是(默认为0),例如,我有11种猜测的可能性(一次可能有多个正确的猜测):如果我有一场比赛,id = 125,我拥有全部除了8,11之外的其他猜测都是错误的,因此我应该为具有匹配ID的所有匹配更