sql >> Database >  >> RDS >> Mysql

Mysql-query om alle rijen te vinden die dezelfde waarden hebben als een andere rij

Je kunt joins doen om dubbele records te omzeilen.

SELECT  a.*
FROM    TableName a
        INNER JOIN
        (
            SELECT  PersonID, ItemID, COUNT(*) totalCount
            FROM    TableName
            GROUP   BY PersonID, ItemID
            HAVING  COUNT(*) > 1
        ) b ON  a.PersonID = b.PersonID AND
                a.ItemID = b.ItemID

UITGANG

╔════╦══════════╦════════╗
║ ID ║ PERSONID ║ ITEMID ║
╠════╬══════════╬════════╣
║  1 ║      123 ║    456 ║
║  2 ║      123 ║    456 ║
║  5 ║      123 ║    456 ║
║  4 ║      444 ║    456 ║
║  7 ║      444 ║    456 ║
╚════╩══════════╩════════╝


  1. De startpagina van Oracle 10g express komt niet beschikbaar

  2. n-percentielberekeningen in postgresql

  3. Hoe om te gaan met een tabelkolom die is genoemd met een gereserveerd SQL-zoekwoord?

  4. Waarom is het uitvoeren van opgeslagen procedures sneller dan een SQL-query vanuit een script?