Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como encontrar registros duplicados no MySQL


Às vezes você pode precisar encontrar registros duplicados no MySQL. Veja como obter registros duplicados em uma tabela. Você pode usá-lo para obter linhas com valores duplicados no MySQL

Como encontrar valores duplicados no MySQL


Aqui estão as etapas para obter registros duplicados no MySQL. Digamos que você tenha a seguinte tabela MySQL com registros duplicados.
mysql> cria tabela dup_orders(id int, quantidade int);mysql> insere em dup_orders(id,amount) values(1, 100),(1,250),(2,350),(2,350);mysql> seleciona * from dup_orders;+------+--------+| identificação | quantidade |+------+--------+| 1 | 100 || 1 | 250 || 2 | 350 || 2 | 350 |+------+--------+

Bônus de leitura:MySQL adiciona restrição exclusiva

Encontre valores de linha duplicados em uma coluna


Aqui está a consulta SQL para encontrar valores duplicados para uma coluna
SELECT col, COUNT(col)FROM table_nameGROUP BY colHAVING COUNT(col)> 1;

Na consulta acima, fazemos um GROUP BY para a coluna para a qual queremos verificar duplicatas. Também usamos uma cláusula COUNT() e HAVING para obter as contagens de linhas para cada grupo.

Bônus de leitura:MySQL Renomear coluna

Vamos aplicar a consulta acima para nossos dup_orders table, para obter valores duplicados para id coluna
mysql> seleciona id, quantidade do grupo dup_orders por id tendo count(id)>1;+------+--------+| identificação | quantidade |+------+--------+| 1 | 100 || 2 | 350 |+------+--------+

Encontrar valores de linha duplicados em várias colunas


Aqui está a consulta SQL para encontrar valores duplicados para várias colunas
SELECT col1, col2,..., COUNT(*)FROM table_nameGROUP BY col1, col2, ...HAVING (COUNT(col1)> 1) AND (COUNT(col2)> 1) AND ... 
Na consulta acima, fazemos um GROUP BY de todas as colunas (col1, col2 ) para quem queremos encontrar duplicatas. Também usamos uma cláusula COUNT() e HAVING para obter as contagens de linhas para cada grupo.

Bônus de leitura:Como duplicar a tabela no MySQL

Vamos aplicar a consulta acima para nossos dup_orders table, para obter valores duplicados para id e quantidade coluna
mysql> selecione id, amount,count(*) do grupo dup_orders por id,amount tendo count(id)>1 e count(amount)>1;+------+------ --+----------+| identificação | montante | contagem(*) |+------+--------+----------+| 2 | 350 | 2 |+------+--------+----------+

Felizmente, agora você pode facilmente obter registros duplicados no MySQL.

O Ubiq facilita a visualização de dados em minutos e o monitoramento em painéis em tempo real. Experimente hoje!