o.mago 0 Denunciar post Postado Agosto 2, 2007 Olá galera, estou com um problema. Tenho uma tabela com itens que são votados, eu preciso selecionar a media desse valor e ordenar pela maior, estou tentando assim.SELECT *, AVG(nota)FROM notaGROUP BY nota.tituloORDER BY nota.AVG(nota)Não está dando certo. Como posso fazer essa consulta? Compartilhar este post Link para o post Compartilhar em outros sites
jrcardozo 4 Denunciar post Postado Agosto 2, 2007 tente assim SELECT AVG(nota),titulo FROM nota GROUP BY nota.titulo ORDER BY nota.AVG(nota) perceba que retirei o *, isso porque você está agrupando por titulo e não pode selecionar outros campos da tabela Compartilhar este post Link para o post Compartilhar em outros sites
o.mago 0 Denunciar post Postado Agosto 2, 2007 Não deu certo, já tinha tentando assim. O erro acontece quando coloco o ORDER BY no campo que retorna a média.Estou tentando assim.SELECT AVG(nota), tituloFROM nota, filmesWHERE nota.titulo = filmes.tituloGROUP BY nota.tituloORDER BY nota.AVG(nota)Dá o seguinte erro. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(nota) LIMIT 0, 5' at line 1O que fazer? Compartilhar este post Link para o post Compartilhar em outros sites
jrcardozo 4 Denunciar post Postado Agosto 2, 2007 SELECT avg(teste) as media, nome FROM teste group by nome order by avg(teste) desc LIMIT 2 ; acabo de testar esse sql em uma tabela de testes que tenho e está funcionando. aqui uso o mysql 5.1acho que seu problema está em nota.AVG(nota), passe apenas para AVG(nota) Compartilhar este post Link para o post Compartilhar em outros sites
o.mago 0 Denunciar post Postado Agosto 3, 2007 Consegui resolver o problema mas não era isso que você falou. O problema era que no order by não posso usar AVG(nota) e sim o nome que determino no select fiz assim.SELECT *, AVG(nota) AS MEDIAFROM nota, filmesWHERE nota.titulo = filmes.tituloGROUP BY nota.tituloORDER BY MEDIA descValeu pela ajude galera Compartilhar este post Link para o post Compartilhar em outros sites
jrcardozo 4 Denunciar post Postado Agosto 3, 2007 vai ver a versão do mysql que você usa não suporta pois testei de todas as formas no 5.1 e funcionou. Ainda bem que foi resolvido Compartilhar este post Link para o post Compartilhar em outros sites