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

(Resolvido) Contar indivíduos por sexo


Marcelo Pimentel

Pergunta

Olá a todos!

Preciso contar indivíduos por sexo e cidade em uma consulta:

id cidade sexo

1 São Paulo M

2 Curitiba M

3 Curitiba F

4 São Paulo F

5 São Paulo M

6 Curitiba F

7 São Paulo F

8 São Paulo F

9 São Paulo F

O resultado que espero seria o seguinte:

cidade M F

São Paulo 2 4

Curitiba 1 2

A lógica que pensei para resolver isto seria fazer uma subconsuta para cada condição de sexo (masculino e femino) e contar o resultado desta consulta.

No entanto, não consegui desenvolver uma query única para resolver. Alguém teria uma solução, por favor!?

Editado por Denis Courcy
Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Olá Marcelo,

Tem varias formas, ai vai uma bem simples:

select distinct t.cidade,

(select count(sexo) from Tabela1 where sexo='M' and cidade = t.cidade) as M,

(select count(sexo) from Tabela1 where sexo='F' and cidade = t.cidade) as F

from Tabela1 t

Abs. Progr'amador

Link para o comentário
Compartilhar em outros sites

  • 0

meu rei,

assim é mais facil:

SELECT CIDADE,

CASE SEXO WHEN 'F' THEN

COUNT(SEXO) END AS FEMININO

CASE SEXO WHEN 'M' THEN

COUNT(SEXO) END AS MASCULINO

FROM TABELA

GOUP BY CIDADE

Cara,

montei o exemplo a cima no SQL Server,

talvez a sintaxe não bata com o MySQL,

mas a ideia é a mesma,

utilizar o case e o count para saber quantos individuos existem nas cidades separado por sexo.

O exemplo do nosso amigo Programador gera muitas consultas desnecessárias, pois para cada linha que a querie retorna outras 2 subqueries são executadas.

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,3k
    • Posts
      652,4k
×
×
  • Criar Novo...