Mysql
 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Symfony3 - SQLSTATE[HY000] [2002] Няма такъв файл или директория

  2. намиране на продукти, които клиентите купуват заедно

  3. MySQL Deadlock Detection чрез PHP

  4. Съкратете всички таблици (повечето от които имат ограничения). Как да ги пусна временно

  5. java.sql.SQLException:Няма избрана база данни - защо?