首頁 >資料庫 >mysql教程 >如何使用聚合和 HAVING 檢索 MySQL 中匹配的列值?

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

Susan Sarandon
Susan Sarandon原創
2025-01-22 21:12:11720瀏覽

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中文網其他相關文章!

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