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

如何在 MySQL 中查找多行中的相同值?

Patricia Arquette
发布: 2025-01-22 21:02:14
原创
868 人浏览过

How to Find Identical Values Across Multiple Rows in MySQL?

MySQL多行相同值查找:完整指南

在MySQL等关系型数据库中,识别具有匹配列值的行列通常是一项关键任务。本文探讨如何返回在特定列中共享相同值的列。

考虑以下数据表:

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

要检索同时出现在ID 2和ID 4中的所有分数,一种方法是使用聚合和HAVING子句:

<code class="language-sql">SELECT Score
FROM t
GROUP BY Score
HAVING COUNT(CASE WHEN ID = 2 THEN 1 END) > 0 AND COUNT(CASE WHEN ID = 4 THEN 1 END) > 0;</code>
登录后复制

此查询计算每个不同分数的ID 2和ID 4行的计数。然后,将ID 2和ID 4的计数都大于零的分数作为所需结果返回。

说明:

  • GROUP BY Score按Score列聚合行。
  • HAVING COUNT(CASE WHEN ID = 2 THEN 1 END) > 0 确保只包含存在ID 2的分数。
  • HAVING COUNT(CASE WHEN ID = 4 THEN 1 END) > 0进一步过滤结果,以包含也存在ID 4的分数。

通过在HAVING子句中组合这些条件,查询有效地识别同时出现在ID 2和ID 4中的分数。此技术可以扩展到任意数量的ID或列,为在MySQL中查找匹配值提供通用的解决方案。

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

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