Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Ariane Stela

[Resolvido] quero que apareçam os campos onde count(*) for igual

Recommended Posts

Boa tarde,

 

Estou utilizando uma sql +ou- assim

 

SELECT *, count(*) AS total_elementos

FROM elementos e

GROUP BY(e.nome)

 

 

isso retorna uma tabela com os elementos e a quantidade de registros encontradas:

 

elemento_a 3

elemento_b 4

elemento_d 5

 

gostaria q a SQL me mostrasse também os elementos que não contem registros, da seguinte forma:

 

elemento_a 3

elemento_b 4

elemento_c 0

elemento_d 5

 

como fazer para executar isso utilizando-se do count e group by??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se não está na tabela não tem como aparecer.

 

Em um select simples como o do exemplo não aparece.

 

Um exemplo com duas tabelas e usando o NOT EXISTS

 

Usuarios sem posts

 

SELECT *
FROM USUARIOS
WHERE NOT EXISTS (SELECT NULL
                  FROM POSTS
                  WHERE POSTS.USERID = USUARIOS.USERID)

Ajudou ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

poxa motta, eu não entendi

 

SELECT e.nome, count(*) AS total_elementos

FROM elementos e

GROUP BY(e.nome)

ORDER BY(e.nome)

 

eu preciso que o valor que não tem nenhum registro apareça na ordem e a quantidade de registros seja 0;

Compartilhar este post


Link para o post
Compartilhar em outros sites

deixa eu usar outro exemplo muito parecido com o meu:

 

SELECT CodigoCargo, COUNT(*) AS Total_de_Funcionarios

FROM Funcionarios

GROUP BY CodigoCargo

mostrará o seguinte:

 

Imagem Postada

 

no caso de algum desses cargos não ter nenhum funcionário cadastrado, essa query não mostraria o cargo.

Eu preciso que mostre o cargo e o numero de funcionários nesse cargo sendo 0 na ordem que está aparecendo agora

 

Imagem Postada

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.