Soms moet u dubbele records in MySQL vinden. Hier leest u hoe u dubbele records in een tabel kunt krijgen. U kunt het gebruiken om rijen met dubbele waarden in MySQL te krijgen
Dubbele waarden vinden in MySQL
Hier zijn de stappen om dubbele records in MySQL te krijgen. Stel dat u de volgende MySQL-tabel heeft met dubbele records.
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> select * from dup_orders; +------+--------+ | id | amount | +------+--------+ | 1 | 100 | | 1 | 250 | | 2 | 350 | | 2 | 350 | +------+--------+
Bonus Lezen:MySQL Voeg unieke beperking toe
Vind dubbele rijwaarden in één kolom
Hier is de SQL-query om dubbele waarden voor één kolom te vinden
SELECT col, COUNT(col) FROM table_name GROUP BY col HAVING COUNT(col) > 1;
In de bovenstaande query doen we een GROUP BY voor de kolom waarvoor we duplicaten willen controleren. We gebruiken ook een COUNT() en HAVING-clausule om het aantal rijen voor elke groep te krijgen.
Bonus Lezen:MySQL Kolom hernoemen
Laten we de bovenstaande vraag toepassen op onze dup_orders tabel, om dubbele waarden te krijgen voor id kolom
mysql> select id, amount from dup_orders group by id having count(id)>1; +------+--------+ | id | amount | +------+--------+ | 1 | 100 | | 2 | 350 | +------+--------+
Dubbele rijwaarden zoeken in meerdere kolommen
Hier is de SQL-query om dubbele waarden voor meerdere kolommen te vinden
SELECT col1, col2,..., COUNT(*) FROM table_name GROUP BY col1, col2, ... HAVING (COUNT(col1) > 1) AND (COUNT(col2) > 1) AND ...
In de bovenstaande query doen we een GROUP BY van alle kolommen (col1, col2 ) voor wie we duplicaten willen vinden. We gebruiken ook een COUNT() en HAVING-clausule om het aantal rijen voor elke groep te krijgen.
Bonus Lezen:Tabel dupliceren in MySQL
Laten we de bovenstaande vraag toepassen op onze dup_orders tabel, om dubbele waarden te krijgen voor id en bedrag kolom
mysql> select id, amount,count(*) from dup_orders group by id,amount having count(id)>1 and count(amount)>1; +------+--------+----------+ | id | amount | count(*) | +------+--------+----------+ | 2 | 350 | 2 | +------+--------+----------+
Hopelijk kun je nu gemakkelijk dubbele records in MySQL krijgen.
Ubiq maakt het gemakkelijk om gegevens binnen enkele minuten te visualiseren en in realtime dashboards te controleren. Probeer het vandaag nog!