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

重複/類似の列値を持つ行を検索するMySQL

    私はあなたの最初の質問を読み直し、次の解決策を思いつきました:

    SELECT *
    FROM   users
    WHERE  id IN
           (SELECT id
           FROM    users t4
                   INNER JOIN
                           (SELECT  soundex(fname) AS snd,
                                    COUNT(*)       AS cnt
                           FROM     users          AS t5
                           GROUP BY snd
                           HAVING   cnt > 1
                           )
                           AS t6
                   ON      soundex(t4.fname)=snd
           )
    AND    id NOT IN
           (SELECT  MIN(t2.id) AS wanted
           FROM     users t2
                    INNER JOIN
                             (SELECT  soundex(fname) AS snd,
                                      COUNT(*)       AS cnt
                             FROM     users          AS t1
                             GROUP BY snd
                             HAVING   cnt > 1
                             )
                             AS t3
                    ON       soundex(t2.fname)=snd
           GROUP BY snd
           );

    少し複雑ですが、機能し、要求したとおりに機能します:)



    1. PHPとMySQlを使用したGoogleチャートツール

    2. 複合(英数字)主キーと自動インクリメント

    3. Access2022を含むMicrosoftAccessの最新ニュースをチェックしてください!

    4. OracleでのKEEPの有無によるPARTITIONBY