sql >> Databáze >  >> RDS >> Mysql

Jak najít duplicitní záznamy v MySQL

Někdy možná budete muset najít duplicitní záznamy v MySQL. Zde je návod, jak získat duplicitní záznamy v tabulce. Můžete jej použít k získání řádků s duplicitními hodnotami v MySQL

Jak najít duplicitní hodnoty v MySQL

Zde jsou kroky k získání duplicitních záznamů v MySQL. Řekněme, že máte následující tabulku MySQL s duplicitními záznamy.

mysql> vytvořit tabulku dup_orders(id int, částka int);mysql> vložit do dup_orders(id,amount) values(1, 100),(1,250),(2,350),(2,350);mysql> vybrat * z dup_orders;+------+--------+| id | částka |+------+--------+| 1 | 100 || 1 | 250 || 2 | 350 || 2 | 350 |+------+--------+

Bonusové čtení:Přidání jedinečného omezení MySQL

Najít duplicitní hodnoty řádku v jednom sloupci

Zde je dotaz SQL k nalezení duplicitních hodnot pro jeden sloupec

SELECT col, COUNT(col)FROM table_nameGROUP BY colHAVING COUNT(col)> 1;

Ve výše uvedeném dotazu provedeme GROUP BY pro sloupec, u kterého chceme zkontrolovat duplikáty. K získání počtu řádků pro každou skupinu používáme také klauzule COUNT() a HAVING.

Bonusové čtení:Sloupec přejmenování MySQL

Použijme výše uvedený dotaz pro naše dup_orders tabulky, abyste získali duplicitní hodnoty pro id sloupec

mysql> vyberte id, částka ze skupiny dup_orders podle id s count(id)>1;+------+--------+| id | částka |+------+--------+| 1 | 100 || 2 | 350 |+------+--------+

Najít duplicitní hodnoty řádku ve více sloupcích

Zde je dotaz SQL k nalezení duplicitních hodnot pro více sloupců

SELECT col1, col2,..., COUNT(*)FROM table_nameGROUP BY col1, col2, ...HAVING (COUNT(col1)> 1) AND (COUNT(col2)> 1) AND ... 

Ve výše uvedeném dotazu provedeme GROUP BY všech sloupců (col1, col2 ), pro které chceme najít duplikáty. K získání počtu řádků pro každou skupinu používáme také klauzule COUNT() a HAVING.

Bonusové čtení:Jak duplikovat tabulku v MySQL

Použijme výše uvedený dotaz pro naše dup_orders tabulky, abyste získali duplicitní hodnoty pro id a částka sloupec

mysql> vyberte id, částku,počet(*) z dup_orders seskupte podle id,částka s count(id)>1 a count(amount)>1;+------+------ --+----------+| id | částka | počet(*) |+------+--------+----------+| 2 | 350 | 2 |+------+--------+----------+

Doufejme, že nyní můžete snadno získat duplicitní záznamy v MySQL.

Ubiq usnadňuje vizualizaci dat během několika minut a sledování na řídicích panelech v reálném čase. Vyzkoušejte to ještě dnes!

  1. Indexy SQL Server – vzestupné nebo sestupné, jaký je v tom rozdíl?

  2. Jak vybrat z MySQL, kde je název tabulky Variabilní

  3. Přihlášení uživatele 'DOMAIN\MACHINENAME$' se nezdařilo

  4. Automatický sběr dat:Databázové soubory a logické jednotky na MS SQL Server