在MySQL中检索重复列值的技巧
在MySQL数据库中,您可能需要检索在特定列中共享相同值的那些行。考虑以下表格,其中“分数”列包含与不同“ID”关联的值:
ID | 分数 |
---|---|
1 | 95 |
2 | 100 |
3 | 88 |
4 | 100 |
5 | 73 |
假设您想检索在“ID”等于2和4的两行中都出现的分数。
解决方案:
要使用MySQL实现此目的,可以使用以下查询:
<code class="language-sql">SELECT score FROM t GROUP BY score HAVING COUNT(*) > 1 AND SUM(CASE WHEN id = 2 THEN 1 ELSE 0 END) > 0 AND SUM(CASE WHEN id = 4 THEN 1 ELSE 0 END) > 0;</code>
此查询执行以下步骤:
在本例中,结果将是:
<code>分数 100</code>
此查询有效地检索在“ID”等于2和4的两行中都出现的分数值。 改进后的查询更加清晰地表达了筛选条件,避免了潜在的逻辑错误。
以上是如何在 MySQL 中查找特定 ID 上的重复分数值?的详细内容。更多信息请关注PHP中文网其他相关文章!