A veces, es posible que necesite encontrar registros duplicados en MySQL. Aquí se explica cómo obtener registros duplicados en una tabla. Puede usarlo para obtener filas con valores duplicados en MySQL
Cómo encontrar valores duplicados en MySQL
Estos son los pasos para obtener registros duplicados en MySQL. Supongamos que tiene la siguiente tabla de MySQL con registros duplicados.
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 | +------+--------+
Lectura adicional:MySQL Agregar restricción única
Encuentre valores de fila duplicados en una columna
Aquí está la consulta SQL para encontrar valores duplicados para una columna
SELECT col, COUNT(col) FROM table_name GROUP BY col HAVING COUNT(col) > 1;
En la consulta anterior, hacemos un GRUPO POR para la columna para la que queremos verificar los duplicados. También usamos una cláusula COUNT() y HAVING para obtener el recuento de filas para cada grupo.
Lectura adicional:Columna de cambio de nombre de MySQL
Apliquemos la consulta anterior para nuestros dup_orders table, para obtener valores duplicados para id columna
mysql> select id, amount from dup_orders group by id having count(id)>1; +------+--------+ | id | amount | +------+--------+ | 1 | 100 | | 2 | 350 | +------+--------+
Buscar valores de fila duplicados en varias columnas
Aquí está la consulta SQL para encontrar valores duplicados para varias columnas
SELECT col1, col2,..., COUNT(*) FROM table_name GROUP BY col1, col2, ... HAVING (COUNT(col1) > 1) AND (COUNT(col2) > 1) AND ...
En la consulta anterior, hacemos un GROUP BY de todas las columnas (col1, col2 ) para los que queremos encontrar duplicados. También usamos una cláusula COUNT() y HAVING para obtener el recuento de filas para cada grupo.
Lectura adicional:Cómo duplicar una tabla en MySQL
Apliquemos la consulta anterior para nuestros dup_orders table, para obtener valores duplicados para id y cantidad columna
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 | +------+--------+----------+
Con suerte, ahora puede obtener fácilmente registros duplicados en MySQL.
Ubiq facilita la visualización de datos en minutos y la supervisión en paneles en tiempo real. ¡Pruébalo hoy!