Ir para conteúdo
Aloysio Coutinho

Contagem de registros específicos

Recommended Posts

Boa tarde pessoAll,

 

Tenho uma tabela com uma coluna que conta o número de slots de memória que um servidor tem (NUMSLOT) e outra (TYPE) que diz quais estão ocupados com o tipo de memória e, quando não tem nenhum pente vem com o conteúdo 'Empty slot'.
Queria pegar, em uma única query o número total de slots (esse estou pegando fácil com um "count(NUMSLOT)") e a contagem dos slots vazios. Esse registro estou tendo dificuldades para extrair.
Quem conseguiria me ajudar com esta lógica?

De ante mão agradeço a colaboração.

 

Atenciosamente,

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já tentei com CASE e IF, conforme demonstrado abaixo (nesse caso está com o CASE), mas ele está contando todos os registros, ignorando as condições: :persevere:

 

select replace(format(SUM(capacity),0),',','.') as RAM,

            HARDWARE_ID,

            count(NUMSLOTS) as SLOTS,

            count(CASE WHEN TYPE = 'Empty slot' THEN 1 ELSE 0 END) as LIVRES

from memories 
group by HARDWARE_ID

 

Só lembrando que a minha base na verdade é um MariaDB 10.3.17.

 

Abs,

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 05/03/2021 at 17:48, Jack Oliveira disse:

Tente da seguinte forma

 


SELECT SUM( IF( `ativo`='s', 1, 0 ) ) AS ativos, SUM( IF( `ativo`='s', 0, 1 ) ) AS inativos, COUNT(*) AS total FROM tabela

 

 

Veja funcionando

Bom dia Jack,

 

Cara, tão simples assim. :scream:
Só queria entender porquê o "count" não funcionou, mas valeu. Deu certo! :smile:

Compartilhar este post


Link para o post
Compartilhar em outros sites
3 minutos atrás, Aloysio Coutinho disse:

Hey Jack, muito obrigado mesmo pela dica.
Estou tentando agradecer através dos ícones, mas estou recebendo o seguinte erro.

 

image.png.2111d605611c7c9a03c5ccd5702af09e.png

Por nada amigo...  sucesso pra ti...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

×

Informação importante

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