rpan 0 Denunciar post Postado Novembro 8, 2007 Ola Pessoal, Fiz o sql abaixo mas o resultado não esta seno o esperado, ou seja, não esta listando ordenadamente os dados pegando como referencia a média dos dados AVG (usei direto no banco). Alguem pode me auxiliar nesse problema ? Sinceramente não to conseguindo ver onde estou tropeçando. Obrigado a todos desde ja ! SELECT votacao.id_votacao,votacao.id_artigo, AVG(votacao.nota), artigos.titulo FROM artigos, votacao WHERE votacao.id_artigo = artigos.id_artigo GROUP BY votacao.id_artigo ORDER BY votacao.nota desc Olha como esta saindo o resultado: 17 2 3.71429 1 3 3.81250 <-- Este é o problema - não sai la em cima 6 1 3.00000 16 4 1.00000 Compartilhar este post Link para o post Compartilhar em outros sites
Wagner Bianchi 0 Denunciar post Postado Novembro 8, 2007 Todos os campos que participam da seleção, devem ser mencionados no GROUP BY, exceto o que está na função agragada. Ex.: SELECT COUNT(id), campo1, campo2, campo3 FROM tabela WHERE id =1 GROUP BY campo1, campo2, campo3 (ou outros que não estão na seleção) HAVING COUNT(id) > 0 ORDER BY COUNT(id) DESC Siga o exemplo e volte a postar!! Abração!! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
rpan 0 Denunciar post Postado Novembro 9, 2007 Ola amigo, fiz alguns testes por aqui mas ainda não consegui. Não entendi ao certo quando falou de campos que não estão na seleção. Se eu tirar o votacao.id_artigo ai não funciona. Será que viajei nisso ? Todos os campos que participam da seleção, devem ser mencionados no GROUP BY, exceto o que está na função agragada. Ex.: SELECT COUNT(id), campo1, campo2, campo3 FROM tabela WHERE id =1 GROUP BY campo1, campo2, campo3 (ou outros que não estão na seleção) HAVING COUNT(id) > 0 ORDER BY COUNT(id) DESC Siga o exemplo e volte a postar!! Abração!! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
Wagner Bianchi 0 Denunciar post Postado Novembro 10, 2007 Posta o erro aí. . . http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
rpan 0 Denunciar post Postado Novembro 12, 2007 Ola amigo, Para falar a verdade não entendi bem a parte do HAVING e não conegui reescrever o meu sql. Se no select eu ja pedi o AVG e agrupei pelo indice, não bastari apenas pedir a ordenação ? Eu coloquei ordenando como abaixo mas da um erro #1064 quando testo no phpmyadmin. Pesquisei o erro mas confesso que estou bem enrolado para reescrever isso. Poderia me dar algumas dicas a mais ? Desde ja muito obrigado ! SELECT votacao.id_votacao,votacao.id_artigo, AVG(votacao.nota), artigos.titulo FROM artigos, votacao WHERE votacao.id_artigo = artigos.id_artigo GROUP BY votacao.id_artigo ORDER BY votacao.nota(AVG) desc Posta o erro aí. . . http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
Wagner Bianchi 0 Denunciar post Postado Novembro 13, 2007 Testa assim: SELECT votacao.id_votacao,votacao.id_artigo, AVG(votacao.nota) AS media, artigos.titulo FROM artigos, votacao WHERE votacao.id_artigo = artigos.id_artigo GROUP BY votacao.id_artigo ORDER BY media DESC Qualquer dúvida, volte a postar!! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
rpan 0 Denunciar post Postado Novembro 14, 2007 Salve amigo ! Deu certo. Eu não tinha me tocado de usar o apelido no sql, deve ser porque meu conhecimento ainda é pouco, mas vivendo e aprendendo. MUITO OBRIGADO MESMO por tirar essa dúvida e contribuir com o meu conhecimento ! Grande abraço. Testa assim: SELECT votacao.id_votacao,votacao.id_artigo, AVG(votacao.nota) AS media, artigos.titulo FROM artigos, votacao WHERE votacao.id_artigo = artigos.id_artigo GROUP BY votacao.id_artigo ORDER BY media DESC Qualquer dúvida, volte a postar!! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
Wagner Bianchi 0 Denunciar post Postado Novembro 14, 2007 Isso aí camarada, que bom que funcionou!! Qualquer dúvida, volte a postar!! DEUS abençõe!! http://forum.imasters.com.br/public/style_emoticons/default/natal_tongue.gif Compartilhar este post Link para o post Compartilhar em outros sites