Consulta SQL com registros únicos
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!
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
Curtidas 0