Como fazer esta busca no banco

7 respostas
TeiTei

Galera como eu faço isso me ajudem por favor.

Tenho 1000 registros em uma tabela e esses registros podem ser macacos ou leoes digamso que eu precise saber quantos leos e quantos macacos eu tenho para descobrir quanto de % eles representam do valor total?

por favor me ajudem!!

7 Respostas

phpinheiro

procure por count em sql…

poste aí a estrutura da tabela

T

De fato, isso é mais fácil de fazer com 3 consultas (uma contando os leões, uma contando os macacos, e a terceira contando todas as linhas da tabela). Qual é o problema de fazer contas?

M

se voce usar o count antes do nome ele retornara quantas vezes ele apareceu… por exemplo:

select count(NOME) from TABELA where NOME = 'MACACO'
A

Você tem que usar o count(*) e agrupar por nome, por exemplo:

SELECT ((count(*) * 100)/(SELECT COUNT(*) tbl_animal) FROM tbl_animal) valor, nome_animal FROM tbl_animal GROUP BY nome_animal

supondo que table seja:

J

Bem se for no Oracle, pode usar a função RATIO_TO_REPORT, como mostro no exemplo abaixo.

SELECT animal, COUNT(animal)

, ROUND(RATIO_TO_REPORT(COUNT(animal)) OVER () * 100,2) AS percentual

FROM (

SELECT 1,‘LEAO’ animal  FROM DUAL

UNION

SELECT 2,‘LEAO’ AS FROM DUAL

UNION

SELECT 3,‘MACACO’ AS FROM DUAL

UNION

SELECT 4,‘LEAO’ AS FROM DUAL

UNION

SELECT 5,‘MACACO’ AS FROM DUAL

)

GROUP BY animal

Alberto_Queiroz

M

Se não entender o count faça pela aplicação mesmo:

...
int leoes = 0;
int macacos = 0;
while(resultSet.next()) {
      if(resultSet.getString("animal").equals("leao") 
               leoes++;
      if(resultSet.getString("animal").equals("macaco")
               macacos++;
}
...

… pensando bem não faz sentido uma aplicação que conte leões e macacos, podem ignorar meu post =)

Criado 15 de dezembro de 2008
Ultima resposta 15 de dez. de 2008
Respostas 7
Participantes 8