phs22 0 Denunciar post Postado Dezembro 15, 2009 Pessoal, gostaria de saber se tem como eu ordenar essa consulta pelo soma, segue o código abaixo <table style="width: 50%; text-align: center"> <tr> <th colspan="4">1 Quadro</th> </tr> <tr> <th>Pos.</th> <th>Jogador</th> <th>Gols</th> <th>Part</th> <th>Media</th> </tr> <?php // Artilharia teste $seleciona = mysql_query("SELECT DISTINCT elenco.id, elenco.cp_jogador, dados_jogadores.ID_jogador FROM elenco INNER JOIN dados_jogadores ON elenco.id = dados_jogadores.ID_jogador ORDER BY dados_jogadores.gols DESC"); $list = 1; while($rel = mysql_fetch_array($seleciona)){ extract($rel); $pos = $list++; $soma = mysql_query("SELECT SUM(gols) as gol, SUM(part) as partidas FROM dados_jogadores where ID_jogador='$ID_jogador' AND cp_quadro='1' order by SUM(gols) DESC"); if($ext = mysql_fetch_array($soma)){ extract($ext); } @$media = $gols / $part; $md = number_format($media, 2); echo"<tr> <td>$posº</td> <td>$cp_jogador</td> <td>$gol</td> <td>$partidas</td> <td>$md</td> </tr> "; } ?> </table> Compartilhar este post Link para o post Compartilhar em outros sites
Dee 0 Denunciar post Postado Dezembro 15, 2009 No seu primeiro Select você coloca ORDER BY sum(dados_jogadores.gols) DESC Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Dezembro 15, 2009 Em vez de: order by SUM(gols) DESC faça: order by gol DESCque já é o apelido que você criou para essa soma. Compartilhar este post Link para o post Compartilhar em outros sites
phs22 0 Denunciar post Postado Dezembro 15, 2009 Vlw pela ajuda, mas da forma que me passou aparece apenas um registro, não faz o laço, ai deixei dessa forma ORDER BY dados_jogadores.gols DESC, dados_jogadores.part ASC e me parece que resolveu. mas vlw mesmo assim. abçs Compartilhar este post Link para o post Compartilhar em outros sites
phs22 0 Denunciar post Postado Dezembro 15, 2009 Pessoal, não me resolveu nada, depois que eu adicionei mais dados para somar, não ordenou mais. Tem uma forma de deixar os select em um só, tipo DISTINCT com SUM no mesmo select. Abçs Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Dezembro 15, 2009 Vou mover o teu tópico para o fórum de MySQL.. já que o teu problema não é o php. http://forum.imasters.com.br/public/style_emoticons/default/natal_laugh.gif Tópico Movido: PHP http://forum.imasters.com.br/public/style_emoticons/default/seta.gif MySQL Poste a estrutura das tabelas. Compartilhar este post Link para o post Compartilhar em outros sites
phs22 0 Denunciar post Postado Dezembro 15, 2009 Creio tem um pequeno ou grande problema nesta consulta, para ordenar teria que ter o ORDER BY no primeiro SELECT, onde tem o laço, no segundo select não tem laço, pois a soma e feita pela consulta realizada no primeiro select, acho que o problema esta nesta parte. Compartilhar este post Link para o post Compartilhar em outros sites