Jump to content
Fórum Script Brasil
  • 0

Optimização do select


freitastulio

Question

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 to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...