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

Sådan finder du duplikerede poster i MySQL

Nogle gange skal du muligvis finde duplikerede poster i MySQL. Sådan får du duplikerede poster i en tabel. Du kan bruge den til at få rækker med duplikerede værdier i MySQL

Sådan finder du duplikerede værdier i MySQL

Her er trinene til at få duplikerede poster i MySQL. Lad os sige, at du har følgende MySQL-tabel med duplikerede poster.

mysql> create table dup_orders(id int, amount int);mysql> insert into dup_orders(id,amount) values(1, 100),(1.250),(2.350),(2.350);mysql> vælg * fra dup_orders;+------+--------+| id | beløb |+------+--------+| 1 | 100 || 1 | 250 || 2 | 350 || 2 | 350 |+------+--------+

Bonuslæser:MySQL Tilføj unik begrænsning

Find duplikerede rækkeværdier i én kolonne

Her er SQL-forespørgslen til at finde dublerede værdier for én kolonne

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

I ovenstående forespørgsel laver vi en GROUP BY for den kolonne, som vi ønsker at kontrollere dubletter for. Vi bruger også en COUNT() og HAVING-sætning til at få rækkeantallet for hver gruppe.

Bonus Læs:MySQL Omdøb kolonne

Lad os anvende ovenstående forespørgsel på vores dup_orders tabel for at få duplikerede værdier for id kolonne

mysql> vælg id, beløb fra dup_orders gruppe efter id med count(id)>1;+------+--------+| id | beløb |+------+--------+| 1 | 100 || 2 | 350 |+------+--------+

Find dublerede rækkeværdier i flere kolonner

Her er SQL-forespørgslen til at finde dublerede værdier for flere kolonner

VÆLG col1, col2,..., COUNT(*)FROM table_nameGROUP BY col1, col2, ...HAR (COUNT(col1)> 1) AND (COUNT(col2)> 1) AND ... 

I ovenstående forespørgsel laver vi en GROUP BY af alle kolonnerne (col1, col2 ) for hvem vi ønsker at finde dubletter. Vi bruger også en COUNT() og HAVING-sætning til at få rækkeantallet for hver gruppe.

Bonuslæser:Sådan dublerer du tabel i MySQL

Lad os anvende ovenstående forespørgsel på vores dup_orders tabel for at få duplikerede værdier for id og beløb kolonne

mysql> vælg id, beløb, count(*) fra dup_orders gruppe efter id,beløb med count(id)>1 og count(amount)>1;+------+------ --+----------+| id | beløb | tæl(*) |+------+--------+----------+| 2 | 350 | 2 |+------+--------+----------+

Forhåbentlig kan du nu nemt få duplikerede poster i MySQL.

Ubiq gør det nemt at visualisere data på få minutter og overvåge i dashboards i realtid. Prøv det i dag!

  1. hvordan man bruger tns-indgange med macromedia-drivere til Oracle

  2. Inspicering af slutningen af ​​en lang variabel værdi i VBA

  3. Optælling baseret på tilstand i SQL Server

  4. PostgreSQL:Advarsel:Konsol kodetabel (437) adskiller sig fra Windows kodetabel (1252)