首頁 >資料庫 >mysql教程 >如何找到特定列中具有不同值的重複行?

如何找到特定列中具有不同值的重複行?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-28 03:20:10621瀏覽

How to Find Duplicate Rows with Different Values in a Specific Column?

選擇列值不同的重複行

此資料庫查詢旨在根據特定列識別重複行,同時忽略其他列的值列。考慮以下場景:

 ------ ------ 
ARIDNR LIEFNR
1 A
2 A
3 A
1 B
2 B

目標是選擇與不同LIEFNR數值出現多次的ARIDNR 值。

為了實現這一點,我們可以利用以下方法查詢:

SELECT *
FROM Table
WHERE ARIDNR IN (
    SELECT ARIDNR
    FROM Table
    GROUP BY ARIDNR
    HAVING COUNT(DISTINCT LIEFNR) > 1
)

此查詢使用巢狀子查詢來識別符合指定條件的ARIDNR 值。子查詢會依 ARIDNR 對行進行分組,並套用 COUNT(DISTINCT LIEFNR) 函數,該函數計算與每個 ARIDNR 關聯的唯一 LIEFNR 值的數量。如果計數超過 1,ARIDNR 將會加入到臨時表中。

然後主查詢從原始表中選擇 ARIDNR 值與子查詢標識的值相符的所有行。這會產生所需的輸出:

; ------ ------ 
ARIDNR LIEFNR
1 A
1 B
2 A
2 B

此方法有效捕捉具有不同LIEFNR 值的重複行,並滿足初始要求。

以上是如何找到特定列中具有不同值的重複行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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