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