[firebase-br] select com totalização

Paulo Portella pportellaa.firebase em gmail.com
Qui Abr 28 12:14:31 -03 2011


O SQL tá muito bom.

Mas pelo que entendi ele quer uma listagem para comparar com 
percentuais... isso ele não vai ter se tiver que listar Prova por Prova.

Não é ?

Vida de americano é assim: iPhone, iPod, iPad, iMac….
Já a de brasileiro é assim:IPTU, IPVA, ICMS, IPI etc


Em 28/04/2011 10:28, Nivaldo Martins escreveu:
> 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
>>
> ______________________________________________
> 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