Ordenar Com Prioridade
#1
Posted 11/03/2006, 13:55
Vamos lá, todo mundo já deve ter visto aquelas tabelas de campeonato que são organizadas por pontos, mas se estiverem empatados ordena pelo nº de vitórias, e se continuar, por saldo de gols...
Queria saber se tem como fazer isso com PHP+MySql, eu pensei pensei pensei e não encontrei um jeito =[ pelo menos até o limite dos meus conhecimentos ^^, tem alguma função além de ORDER BY, ou que adicione algo a ela pra criar uma prioridade de ordenação?
Valeu ^^...
.idade :: 17.
.php. :: ||||||||||
.fireworks. :: ||||||||||
.dreamweaver. :: ||||||||||
.flash. :: ||||||||||
#2
Posted 11/03/2006, 15:00
Tipo, SE (IF) vitorias (campo_no_bd) Time X for maior que vitórias Time Y ordena por (ORDER BY) vitórias ascendentemente (ORDER BY vitórias ASC)
Daí vc cria multiplos condicionais para cada situação colocando-as dentro de sucessivos ELSEIF's e no final um ELSE caso tudo dê errado.
Simplóriamente é isso. Se algu´m faz de um jeito mais avançado e que não use tantas linhas ou que seja de um jeito mais rápido, sei lá.
Abraços
#3
Posted 11/03/2006, 15:34
organizadas por pontos, mas se estiverem empatados ordena pelo nº de vitórias, e se continuar, por saldo de gols...
Solução:
ORDER BY pontos DESC, vitorias DESC, saldo DESC
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29
#4
Posted 11/03/2006, 15:48
Valeu, eu não testei ainda não, mas pelas respostas firmes de vocês vai funcionar ^^ brigadão...
.idade :: 17.
.php. :: ||||||||||
.fireworks. :: ||||||||||
.dreamweaver. :: ||||||||||
.flash. :: ||||||||||
#5
Posted 11/03/2006, 16:12
ORDER BY pontos DESC, vitorias DESC, saldo DESC
Se tiver com pontos empatados, ele vai ordenar por vitorias, se tiver com a mesma vitoria irá ordenar pelo saldo, e asism por diante. Pelo menos eu acho
Até mais
Fórum WMO - Equipe de Desenvolvimento / Banco de Dados - Moderador
Twitter: HostCheap
#6
Posted 01/08/2006, 19:27
Eu preciso do seguinte:
Tenho uma tabela chamada "pontos", onde tenho
*idponto
*nome
*pontos
*torneio
Existem varios torneios, e cada torneio a pessora faz uma pontuação:
Exemplo:
Torneio dia 25/06
idponto Nome Pontos torneio
1 Andre 25 15
2 João 20 15
3 Felipe 15 15
Torneio dia 26/06
idponto Nome Pontos torneio
4 João 36 16
5 Andre 26 16
6 Felipe 10 16
Eu sei listar o classificação de todos os torneios dessa forma:
$sql_pontos = "SELECT * FROM pontos ORDER BY pontos DESC" ;
$sql_pontos = mysql_query($sql_pontos) or die("Erro no SQL: ".mysql_error());
Resulta assim:
João 36
Andre 26
Andre 25
João 20
Felipe 15
Felipe 10
Mais eu gostaria que não exibisse o mesmo nome, e somasse todos os resultados daquele nome:
Exemplo:
João 56
Andre 51
Felipe 25
Blz Galera é isso que preciso... se alguem poder me ajudar eu agradeço....
TrendComp Informática
São João Batista - SC
Cel: (48) 9119-2558 - MSN: emelicio@trendcomp.com.br
#7
Posted 01/08/2006, 19:48
SELECT nome, sum(pontos) ptos FROM pontos GROUP BY nome ORDER BY ptos DESC
Edição feita por: MxDxPx, 01/08/2006, 19:49.
- Desenvolvedor Python/ZOPE/Plone + ArchGenXML/Poseidon - Python + Django na Universidade de Caxias do Sul
- Desenvolvedor Python + Django na World News
Blog
#8
Posted 01/08/2006, 20:04
T+
PALMEIRAS - Primeiro campeão do mundo em 1951
#9
Posted 02/08/2006, 01:21
Precisou agrupar os dados por usuário, para assim obter o somatório de pontos de cada um, e ordenar segundo tal valor.
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29
#10
Posted 02/08/2006, 12:52
Outra coisinha!
Esses torneios que eu falo, são torneios de cantos de passaros, eu preciso que quem tiver mais cantos, 1º lugar, ganhe 20 pontos, em 2º Lugar 19 pontos, 3º Lugar 18 pontos.
Ou seja, eu cadastro os cantos de cada passaro no torneio, e:
Classificação---Passaro--------------Cantos-----------Pontos
------1----------Tucano-----------------123----------------20
------2----------Principe----------------115----------------19
------3----------Zidani------------------111----------------18
Ou seja, eu cadastra-se o nome do passaro, o numero de cantos, e depois automáticamente, gerassem os pontos.. tipow depois que todos os resultados tivessem sido cadastrados, algum camando que buscasse a relação de cantos de cada passaro, e inserisse os pontos, de acordo com a classificação!!!!
Se caso não der, o geito é colocar os pontos manualmente!!!!
Valeu pela atenção
Edição feita por: emelicio, 02/08/2006, 12:55.
TrendComp Informática
São João Batista - SC
Cel: (48) 9119-2558 - MSN: emelicio@trendcomp.com.br
#11
Posted 13/12/2006, 21:09
Era isso mesmo deu certo... o sistema de campeonatos, torneios, passaros e pontos esta perfeito.... ficou um verdadeiro software, alem de publicar todos os campeonato para o mundo inteiro, fácilitou muito a vida da secretária, que antes tinha que calcular tudo na calculadora, possibilitando erros, agora terminou o torneio e as classificações estão na internet e no mural, através de um formulário impresso através da administração!!!!
Da uma visitadinha.... o site ainda não esta todo pronto, falta muito.... mais vai ficar massa....
Valeu pela ajuda de todos
TrendComp Informática
São João Batista - SC
Cel: (48) 9119-2558 - MSN: emelicio@trendcomp.com.br
#12
Posted 14/12/2006, 08:08
manda o link então! caso contrário fica um pouco complicado! ehhehehe
- Desenvolvedor Python/ZOPE/Plone + ArchGenXML/Poseidon - Python + Django na Universidade de Caxias do Sul
- Desenvolvedor Python + Django na World News
Blog
0 user(s) are reading this topic
0 membro(s), 0 visitante(s) e 0 membros anônimo(s)