3 primeiros colocados MYSQL

4 respostas Resolvido
javamysql
Sergio_Junior

Ola, estou fazendo um questionario e a tabela (resultado) que salva as respostas esta com essa saida

pergunta  | resposta 
----------------------------
0         | A
1         | B
2         | A
0         | A
1         | C
2         | A
0         | A
1         | A
2         | B

com esse comando >
SELECT pergunta, sum(resposta='A') AS votado FROM resultado GROUP BY pergunta;

pergunta  | votado
-------------------
0         | 3
1         | 1
2         | 2

Ou seja, na pergunta 0, o A teve 3 votos, na 1 o A teve 1 e na 2 o A teve 2;

Porem com esses dados não estou achando uma solução para achar os 3 mais votados, dentre todas as perguntas e alternativas possiveis. Estou programando em java, alguem tem alguma luz pra mim?

4 Respostas

F

Faz um “ORDER BY votado DESC” e limita o SELECT com apenas 3 linhas de retorno. o/

Sergio_Junior

Não resolve… Pois ali nessa ultima representação, esta só os votos da resposta A. Preciso pegar quais alternativas tiveram mais votos dentre todas as questões.

pmlm
Solucao aceita
SELECT pergunta, resposta, count(*) AS votado 
  FROM resultado 
 GROUP BY pergunta, resposta 
 ORDER BY count(*) desc;
Sergio_Junior

PERFEITO @pmlm
TE AMO CARA

Criado 27 de dezembro de 2016
Ultima resposta 27 de dez. de 2016
Respostas 4
Participantes 3