Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

merlinus

[Resolvido] Pesquisar todos os registros duplicados

Recommended Posts

estou precisando visualizar todos os registros que tenham um determinado campo duplicados, pesquisando cheguei a seguinte forma:

SELECT * FROM tabmaterial GROUP BY `codigo` HAVING COUNT(*) > 1

 

consegui visualizar mas ele esta retornando apenas uma das linhas duplicadas e não ambas, eu preciso que me de todas as linhas.

 

Pesquisando mas um pouco cheguei a sugestão de colocar uma subquery, mas ao tentar usar o exemplo que deram:

 

SELECT * FROM tabmaterial WHERE `codigo` IN (SELECT `codigo` FROM tabmaterial GROUP BY `codigo` HAVING COUNT(*) > 1)

 

entrou num loop infinito (ou assim eu imagino, ele ficou "pensando" até o tempo limite).

 

Aonde estou errando?

Compartilhar este post


Link para o post
Compartilhar em outros sites

A tabela tabmaterial tem índice por codigo ?

 

Quantos registros

SELECT `codigo` FROM tabmaterial GROUP BY `codigo` HAVING COUNT(*) > 1

retorna ?

 

Quantos registros tem tabmaterial ?

-----

A query

 

SELECT * 
FROM tabmaterial 
WHERE `codigo` IN (SELECT `codigo`  
                  FROM tabmaterial 
                  GROUP BY `codigo` 
                  HAVING COUNT(*) > 1)

 

está correta, o problema pode ser o quantidade de registros tratados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A tabela não tem nenhum índice

São atualmente 11,9311 registros.

 

 

a Query:

SELECT `codigo` FROM tabmaterial GROUP BY `codigo` HAVING COUNT(*) > 1

retorna 37 registros.

 

sendo que tem cerca de 50 copias e o restante 2 então equivalem a aproximadamente 122 registros que estou procurando.

 

 

estou executando as querys atraves de do phpmyadmin, pode ser esse o problema?

 

 

-----------

Aparentemente sim, seguindo sua dica, e sabendo que a query estava certa, executei a query do pronpt do windwos (o coisinha feia) e deu certo.

 

No phpAdmin depois que indexei o campo tb deu.

 

Muito obrigado

Resolvido

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.