Imagine-se o cenário que é a meio do desenvolvimento de uma aplicação uma coluna que não era unique ter de passar a sê-lo, mas ao mesmo tempo temos de manter os dados que já estão carregados na tabela, detectando os que estão repetidos e alterando só esses para cumprir a restrição da coluna ter valores unique.
O script seguinte é um exemplo de como podemos obter os valores repetidos:
SELECT colName, COUNT(colName) AS cnt
FROM tableName
GROUP BY colName
ORDER BY cnt desc
3 comentários:
Tiago,
Por acaso esse até é um dos problemas colocados pela Safira no processo de recrutamento :-)
Já agora, vê tambem a clausula HAVING que neste caso pode ser porreira para cortar os que têm apenas 1.
Alex
E porque não:
SELECT colName, COUNT(colName) AS cnt
FROM tableName
GROUP BY colName
HAVING cnt>1
Devolvendo todos os registos com colName repetidos.
Realmente é necessária a cláusula having para isolar apenas os duplicados conforme o Antonio exemplificou.
Enviar um comentário