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

selecionando registros específicos


Guest Visitante

Pergunta

como seleciono todos os registros de uma tabela, que possuem, no campo A, mais de uma ocorrência ?

A B

----- -------

abc aaa

def cccc

123 dddd

abc aajj

456 aaa

def ddd

resultado:

abc aaa

def cccc

abc aajj

def ddd

obrigado !

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0
como seleciono todos os registros de uma tabela, que possuem, no campo A, mais de uma ocorrência ?

A B

----- -------

abc aaa

def cccc

123 dddd

abc aajj

456 aaa

def ddd

resultado:

abc aaa

def cccc

abc aajj

def ddd

obrigado !

Oi, Visitante!

Não lembro agora se o MySQL aceita este tipo que vou falar. Se não aceitar verifique a opção 2 que forneço abaixo, ainda nesta resposta.

Opção 1

SELECT a, b 
FROM tabela WHERE a IN (SELECT a 
                   FROM tabela GROUP BY a
                   HAVING COUNT(a) > 1 );
A Opção 2 abaixo prevê alguns passos: 1 Criação de uma tabela temporária;
CREATE TEMPORARY TABLE temp (
a CHAR(3), 
qt int,
PRIMARY (a)
);
2 Inclusão de registros na tabela temporária;
INSERT INTO temp (a, qt)
SELECT a, COUNT(a) AS qt FROM tabela GROUP BY a
HAVING qt > 1;
3 Sua consulta propria mente dita (neste caso usando um join com a tabela temporária) e,
SELECT t.a, t.b FROM tabela t
INNER JOIN temp tm ON t.a = tm.a;
4 destruição da tabela temporária.
DROP TABLE temp;

att

Denis Courcy

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,9k
×
×
  • Criar Novo...