L Zen 0 Denunciar post Postado Maio 11, 2014 Sou iniciante no curso de Análise e Sistemas e estou precisando de uma ajunta Estou desenvolvendo um Projeto em que preciso retornar a Posição dos registros listado em ordem de pontuação Minha tabela é codigo_prova 01 | codigo_equi | prova_01 1 15 2.9 2 4 6.8 3 40 7.9 Desenvolvi o seguinte código que esta apresentando falha de sintaxe SELECT codigo_equi, prova_01 @var := @var + 1 AS Posicao FROM cad_prova01, (SELECT @var := 0) ORDER BY prova_01 Compartilhar este post Link para o post Compartilhar em outros sites
lokaodomau 61 Denunciar post Postado Maio 12, 2014 Primeiro você deve fazer a consulta ordenando os registros da maneira que lhe convém: SELECT codigo_equi, prova_01 FROM cad_prova01 ORDER BY prova_01 Para depois você atribuir um rank para os registros: SELECT subquery.*, @position:= @position + 1 AS posicao FROM ( SELECT codigo_equi, prova_01 FROM cad_prova01 ORDER BY prova_01 ) AS subquery Espero ter ajudado. Compartilhar este post Link para o post Compartilhar em outros sites
guidjos 65 Denunciar post Postado Maio 16, 2014 Coincidentemente respondi um tópico exatamente com código pra fazer isto ontem. Segue o que escrevi: select t.time, t.pontos, find_in_set(t.pontos, (select group_concat(distinct pontos order by 1 desc) from test)) from test t order by 3; Enjoy. Compartilhar este post Link para o post Compartilhar em outros sites