Duvida: Usando o AVG com a função Count

1 resposta
lusfilip

Olá galera tudo bom…

to com uma pequena duvida…

Eu to precisando fazer uma consulta no SQL que traz o seguinte dados

as cidade das pessoas que estao no banco, a soma das cidades iguais. e o percentual das cidades e total das cidades

eu fiz assim

select cidade, count(cidade) from pessoa
group by cidade

Até aqui tudo bem… porque funciona direitinho…

ex: 2 pessoas de BH e 5 de contagem e 3 do Rio

aparecia:

BH 2
Contagem 5
RIo 3

mas como eu faço para fazer o percentual?

quando eu tento fazer

select cidade, count(cidade),AVG(CIDADE) from pessoa
group by cidade

me da o seguinte erro:
Operand data type varchar is invalid for avg operator

to usando o SQL 2008.

alguem aí sabe como eu converter para poder usar o AVG?

1 Resposta

pmlm

O AVG dá a média de um valor. O que tu queres é uma divisão entre o count() por cidade e o count() total.

Assim de repente, só vejo isso com dois SELECT…

select cidade, count(*) as cnt, count(*) * 100 / (SELECT count(*) from pessoa) as percentagem from pessoa group by cidade

Criado 19 de julho de 2010
Ultima resposta 19 de jul. de 2010
Respostas 1
Participantes 2