sql >> データベース >  >> RDS >> Mysql

複数の一意の値に割り当てられている重複する値を検索する

    WITH CTE AS (SELECT DBVersionKey, Desc19, ROW_NUMBER()OVER(PARTITION BY Desc19
    ORDER BY Desc19) RN
    FROM Table_A)
    
    SELECT * FROM CTE WHERE RN > 1
    

    行番号パーティションで一般的なテーブル式を使用することをお勧めします。これにより、Desc19の各インスタンスのカウント(RN)が作成されます。

    現在、クエリをテストすることはできませんが、結果を最新の状態に保ち、そこから調整することができます。

    編集

    DBVersionKeyが一意の値でない場合は、次のことを試してみます。

    SELECT DISTINCT DBVersionKey, Desc19, COUNT(*)
    FROM Table_A
    Group by DBVersionKey, Desc19
    

    それがうまくいくかどうか教えてください。

    編集2

    もう一度、私はそれをテストすることはできません。最初に提案されたクエリへの追加:

    WITH CTE AS (SELECT DBVersionKey, Desc19, ROW_NUMBER()OVER(PARTITION BY Desc19 ORDER BY Desc19) RN 
    FROM (SELECT DISTINCT DBVersionKey, Desc19 FROM Table_A GROUP BY DBVersionKey, Desc19)
    
    SELECT * FROM CTE WHERE RN > 1
    


    1. MD5をデータベースに保存するときのBINARY(16)とCHAR(32)の違い

    2. MySQLの日付比較

    3. MySqlConnection.StateChangeがフェッチされることはありません

    4. うるう年のMysqlDayofyear