Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Zapytanie Mysql, aby znaleźć wszystkie wiersze, które mają te same wartości, co inny wiersz

Możesz robić połączenia, aby obejść się ze zduplikowanymi rekordami.

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

WYJŚCIE

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


  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:sprzężenie wewnętrzne vs. Gdzie

  2. SQL Relacja wiele-do-wielu między wieloma tabelami

  3. Błąd składni SQL 1064 przy użyciu przygotowanej instrukcji JDBC

  4. Wyszukiwanie pełnotekstowe w mysql za pomocą 3-literowego słowa

  5. ORDER BY RAND() alternatywa