sql >> Databáze >  >> RDS >> Sqlserver

Zobrazit všechny duplicitní řádky

Našli jste své duplicitní záznamy, ale chcete k nim připojit všechny informace. Musíte se join vaše duplikáty do hlavní tabulky, abyste získali tyto informace.

select *
  from my_table a
  join ( select firstname, lastname 
           from my_table 
          group by firstname, lastname 
         having count(*) > 1 ) b
    on a.firstname = b.firstname
   and a.lastname = b.lastname

Je to stejné jako inner join a znamená, že pro každý záznam ve vašem dílčím dotazu, který našel duplicitní záznamy, najdete vše z vaší hlavní tabulky, které má stejnou kombinaci firstseen a lastseen.

Můžete to udělat také pomocí in, ačkoli byste měli vyzkoušet rozdíl :

select *
  from my_table a
 where ( firstname, lastname ) in   
       ( select firstname, lastname 
           from my_table 
          group by firstname, lastname 
         having count(*) > 1 )

Další čtení:



  1. Jak najít podle více kritérií pomocí Phalcon findFirst?

  2. Operace jako mysql INSTR v mongodb

  3. Proč migrace Sequelize vytvořit tabulku, ale modely se nemohou připojit k databázi

  4. Pandas read sql integer se stal float