Consulta SQL com registros únicos

11/03/2015

0

Pessoal, boa noite

Tentei pesquisar no fórum, encontrei vários posts sobre consulta SQL mas não consegui criar uma que me atenda.
Bom, basicamente eu tenho uma tabela com 3 campos:

ID
Nome
Resposta


O campo ID se repete por várias vezes na tabela (sempre com o mesmo nome, mas com respostas diferentes ou em branco).
Primeiramente gostaria de pegar o número de registros únicos de IDs da tabela.

Consegue fazendo da seguinte maneira:

SELECT COUNT(DISTINCT(ID))
FROM
TABELA

Ele me retorna o número total de registros únicos, perfeitamente.
Depois eu adicionei o nome

SELECT COUNT(DISTINCT(ID)), NOME
FROM
TABELA
GROUP BY NOME

Ele me retorna o total de registros únicos por nome. Perfeito.

Agora vem o complicador. A coluna "resposta" nem sempre está preenchida e eu preciso do total de respostas.
Separadamente eu consigo fazer:

SELECT COUNT(RESPOSTA)
FROM
TABELA

Colocando o nome:

SELECT COUNT(RESPOSTA), NOME
FROM
TABELA
GROUP BY NOME

Agora, basicamente o que eu preciso é juntar os resultados num só select, total de IDs únicos e total de respostas por nome.

Segue um exemplo da base de dados:

ID NOME RESPOSTA
1 JOAO
2 JOAO
3 ANTONIO
3 ANTONIO
3 ANTONIO 5
4 JOAO
4 JOAO 5
5 ANTONIO
6 JOAO
7 MATEUS
7 MATEUS
7 MATEUS
7 MATEUS 5

Gostaria de um select que traga como resultado:

NOME QTDE IDS UNICOS QTDE RESPOSTA
JOAO 4 1
ANTONIO 2 1
MATEUS 1 1



Alguma sugestão?

Obrigado!
Luiz Carlos

Luiz Carlos

Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar