[firebase-br] select com totalização

Nivaldo Martins nivaldomart em gmail.com
Qui Abr 28 10:28:41 -03 2011


Cara, acredito que seu problema seja mais de lógica do que de sql:

Vejamos

Você deseja saber a relação entre acertos e número de questões, deseja saber
o número de acertos de cada questão

primeiro, colocar as tabelas com vírgulas vai dar problemas. Você deve fazer
join

Ele também não reconhece os apelidos no cálculo. Vc vai ter que repetir o
count na divisão

A divisão está invertida

O group by pelo campo acertou pode te dar problemas

Talvez fique mais ou menos assim:

Select
   r.numero_questao,
   r.Acertou,
   count(r.numero_questão) as total_questao,
   count(r.acertou) as total_acerto,
   (count(r.acertou)/count(r.numero_questão)*100 as percentual
from
   respostas r join provas p on (r.id_prova = p.Id)
where
   p.Id = :Prova_que_voce_quer
group by
   r.numero_questao
Order by desc percentual
Talvez possua erros ainda, mas já está mais claro do que o que você fez.
Testa aí

Em 28 de abril de 2011 10:05, Ronan <ronan em antarescomputadores.com.br>escreveu:

> Amigos,
> possivelmente essa select para os mais experientes é simples mas, como eu
> estou iniciando nessa área, não consegui fazer.
> O problema é o seguinte:
> Tenho duas tabelas, uma de provas e  outra de respostas com os campos:
>
> resposta.ID_Prova,  resposta.Numero_Questao, resposta.Acertou
>
> Acertou recebe "S" ou "N".
>
> Eu preciso saber em ordem decrescente, para cada prova, as questões que
> foram mais erradas em valores absolutos e percentual.
>
> O melhor que eu consegui fazer foi o seguinte:
>
> Select
>  resposta.numero_questao, resposta.Acertou, count(resposta.numero_questão)
> as total_questao, count(resposta.acertou) as total_acerto,
> (Total_acerto/Total_questao) as percentual
>
> from
>  respostas,provas
> where
>  resposta.ID_Prova = provas.ID
> group by
> resposta.numero_questao, resposta.acertou
>
> Order by desc percentual
>
> bem, deu tudo errado, nem executa, dá erro de sql. Eu tentei outras opções,
> olhei na internet, mas não consegui.
> Por isso, peço aos amigos uma ajuda nesse código.
> muito obrigado a todos
> Ronan
>
>
>
>
>
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



Mais detalhes sobre a lista de discussão lista