sql >> Databasteknik >  >> RDS >> Mysql

Mysql-fråga för att hitta alla rader som har samma värden som en annan rad

Du kan göra joins för att komma runt med dubbletter av poster.

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

OUTPUT

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


  1. Laravel har många och tillhör parametrar

  2. MySQL Felaktigt datetime-värde:'0000-00-00 00:00:00'

  3. I Postgresql, tvinga unik på kombination av två kolumner

  4. SQL Server-transaktionsloggen, del 1:Grunderna i loggning