首頁 >資料庫 >mysql教程 >如何在 MySQL 中尋找多行中的匹配列值?

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

Susan Sarandon
Susan Sarandon原創
2025-01-22 21:07:11678瀏覽

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 子句的組合提供了一個優雅的解決方案:

<code class="language-sql">SELECT score
FROM t
GROUP BY score
HAVING SUM(id = 2) > 0 AND  -- 包含id = 2
       SUM(id = 4) > 0     -- 包含id = 4</code>

此查詢會依分數將行分組,計算每個分數中 ID 2 和 ID 4 的出現次數。 HAVING 子句確保只傳回 ID 2 和 ID 4 中都存在的分數。

以上是如何在 MySQL 中尋找多行中的匹配列值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn