sql >> Database teknologi >  >> RDS >> Mysql

Mysql-forespørgsel for at finde alle rækker, der har samme værdier som en anden række

Du kan lave joins for at komme rundt med duplikerede 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. Konverter 'datetime' til 'smalldatetime' i SQL Server (T-SQL-eksempler)

  2. Skift fra MySQL til Cassandra - fordele/ulemper?

  3. Hvordan vælger man hurtigt 3 tilfældige poster fra en 30k MySQL-tabel med et where-filter efter en enkelt forespørgsel?

  4. Sådan opretter du forbindelse til en database ved hjælp af Sequel Pro