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