sql >> Database >  >> RDS >> Mysql

Vind rijen met dubbele/vergelijkbare kolomwaarden MySQL

Ik heb uw oorspronkelijke vraag opnieuw gelezen en heb de volgende oplossing bedacht:

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
       );

Het is een beetje te ingewikkeld, maar het werkt en levert precies wat je vroeg :)



  1. Fatale fout:oproep naar niet-gedefinieerde functie sqlsrv_connect() in C:\xampp\htdocs

  2. Escape-functie voor reguliere expressie of LIKE-patronen

  3. Oracle SQL-ontwikkelaarstool:downloaden en installeren

  4. Hoe gegevens met dynamisch aantal attributen in een database op te slaan