高效检索 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中文网其他相关文章!