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!