首页 > 数据库 > mysql教程 > 如何使用聚合和 HAVING 检索 MySQL 中匹配的列值?

如何使用聚合和 HAVING 检索 MySQL 中匹配的列值?

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

How to Retrieve Matching Column Values in MySQL Using Aggregation and HAVING?

高效检索 MySQL 中匹配的列值

数据库查询通常需要根据特定列值匹配来检索行。当处理大型表时,此任务变得更加复杂。 此示例演示了一种使用 MySQL 聚合函数和 HAVING 子句的有效方法。

让我们考虑一个示例表:

<code>ID | Score
-----
1 | 95
2 | 100
3 | 88
4 | 100
5 | 73</code>
登录后复制

目标是找到 ID 2 和 ID 4 共同的分数。预期结果为 100。

MySQL 的聚合功能提供了一个优雅的解决方案:

<code class="language-sql">SELECT score
FROM t
GROUP BY score
HAVING SUM(id = 2) > 0 AND SUM(id = 4) > 0;</code>
登录后复制

此查询按 score 对数据进行分组。然后,HAVING 子句使用聚合函数来检查每个组中是否存在 ID 2 和 ID 4。 SUM(id = 2) > 0 计算 ID 2 的出现次数,SUM(id = 4) > 0 计算 ID 4 的出现次数。仅返回两个计数都大于零的分数。 这可确保结果中仅包含与两个 ID 关联的分数。

以上是如何使用聚合和 HAVING 检索 MySQL 中匹配的列值?的详细内容。更多信息请关注PHP中文网其他相关文章!

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