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. MySQL:तालिका को छोटा करें बनाम तालिका से हटाएं

  2. किसी उपयोगकर्ता के मित्रों और मित्रों को प्राप्त करने के लिए SQL

  3. मैसकल:दिनांक को 'dd/mm/yyyy' से 'yyyymmdd' में कनवर्ट करना

  4. किसी अन्य तालिका के पंक्ति मानों से प्राप्त स्तंभ नामों वाली तालिका बनाएं

  5. MySQL डेटाटाइम डिफ क्वेरी