Ir para conteúdo
Fórum Script Brasil
  • 0

Optimização do select


freitastulio

Pergunta

Boa tarde,

Estou com uma dificuldade para fazer uma consulta no mysql e gostaria de saber o que eu poderia fazer para resolver.

O problema é o seguinte:

Tenho uma tabela que contém ID e CPF de várias pessoas, por exemplo:

CPF ID

73155332001 49

55555555555 49

55555555555 61

45454545588 49

Como resultado, eu gostaria que me retornasse somente os CPFs que aparecem cadastrados com diferentes IDs, por exemplo o CPF 55555555555, que possui cadastro com o ID 49 e 61.

Eu utilizei o seguinte comando:

SELECT table1.CPF

FROM 2012cpf table1

WHERE

(

SELECT count(table2.CPF)

FROM 2012cpf table2

WHERE table2.ID = 61 AND

table2.CPF = table1.CPF) > 0

AND

(

SELECT count(table3.CPF)

FROM 2012cpf table3

WHERE table3.ID = 49 AND

table3.CPF = table1.CPF) > 0

O problema, é que ele fuciona para tabelas pequenas, porém, quando tento executar em uma base de 3GB ele fica processando e não dá nenhuma resposta. Alguém sabe como posso contornar isso?

Obrigado!

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
select cpf
from t
group by cpf
having count(*) > 1
order by cpf

Obrigado pela resposta.

Mas isso no caso eu pegaria somente os repetidos. Sendo que a pessoa pode ter dois cpfs com mesmo ids. Por exemplo:

73155330403 49

73155330403 49

Esse caso não seria interessante para mim. Outro motivo, é que eu teria que selecionar os numeros dos IDs, por exemplo: 49 e 65, como código acima.

Alguma idéia ?

Link para o comentário
Compartilhar em outros sites

  • 0
select t.id, t.cpf
from (
    select cpf
    from (
        select id, cpf
        from t
        group by id, cpf
    ) s
    group by cpf
    having count(*) > 1
) s inner join t on t.cpf = s.cpf
order by t.cpf, t.id

Link para o comentário
Compartilhar em outros sites

  • 0

Precisa que liste os CPF e ID, ou por exemplo:

CPF ------------------ COUNT_DUPLICADOS

5555555555 -------- 4

Onde Retorna o CPF e quantos duplicados = 4

Ou precisa que retorne

CPF ------------------ COUNT_DUPLICADOS

5555555555 -------- 69

5555555555 -------- 58

5555555555 -------- 21

5555555555 -------- 58

Litando quantos CPF tem e quais os ID ?

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...