Ícone do site Linha de Comando

MySQL: Localizando registros duplicados

Tem momentos que precisamos descobrir se tem linhas duplicadas no banco de dados.

O select abaixo mostra como podemos identificar estas linhas.

$sql = mysql_query("SELECT id, COUNT(*) duplicados FROM NOME_DA_TABELA GROUP BY id HAVING duplicados > 1");
while ($linhas = mysql_fetch_array($sql)){
   echo "id: ".$linhas['id'].' - '.$linhas['duplicados'].'
'; }

HAVING: é utilizada com a cláusula GROUP BY para filtrar os resultados dos valores agregados. Entretanto, HAVING pode ser especificada sem GROUP BY.

Sair da versão mobile