首页 > 数据库 > mysql教程 > 如何在 MySQL 中查找多行中的匹配列值?

如何在 MySQL 中查找多行中的匹配列值?

Susan Sarandon
发布: 2025-01-22 21:07:11
原创
693 人浏览过

How to Find Matching Column Values Across Multiple Rows in MySQL?

在MySQL行中识别匹配的列值

MySQL 提供了一种多功能机制来从表中检索数据,包括根据公共列值隔离行。本文探讨如何返回在特定列中具有相同值的那些行。

问题陈述:

考虑下表:

ID Score
1 95
2 100
3 88
4 100
5 73

任务是仅检索与 ID 2 和 4 对应的分数,在本例中为 100。

解决方案:

MySQL 提供了几种方法来完成此任务。最合适的方法取决于具体要求。

使用HAVING子句进行聚合:

对于这种情况,聚合和 HAVING 子句的组合提供了一种优雅的解决方案:

SELECT score
FROM t
GROUP BY score
HAVING SUM(id = 2) > 0 AND  -- 包含id = 2
       SUM(id = 4) > 0     -- 包含id = 4
登录后复制

此查询按分数对行进行分组,计算每个分数中 ID 2 和 ID 4 的出现次数。HAVING 子句确保只返回在 ID 2 和 ID 4 中都存在的分数。

以上是如何在 MySQL 中查找多行中的匹配列值?的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板