Jump to content
diegoaugusto

Ordenar por valores do menor para o maior

Recommended Posts

Estou criando um select onde preciso ordenar do menor valor para o maior em um campo float no meu banco.

 

fiz assim e não vai.

 

select * from bolao where id_evento = '$evento' order by tempo ASC

 

Share this post


Link to post
Share on other sites
Citar

não vai

 

Não vai para onde ? :)

 

Qual o erro ?

Share this post


Link to post
Share on other sites
1 hora atrás, Tante disse:

Pesquise melhor, mas acho que campos do tipo float não podem ser ordenados.

Desculpa. Misturei os tipos.

Share this post


Link to post
Share on other sites

mudei ele para int e resolveu, obrigado a todos.

 

Agora tenho um outro relatorio que é a media, pois cada competidor corre mais de uma vez, preciso pegar o valor de todas as vezes e dividir pela quantidade para pegar a media e ordenar do menor para o maior, como eu faria isso em uma query do mysql?

Share this post


Link to post
Share on other sites
Citar

preciso pegar o valor de todas as vezes e dividir pela quantidade para pegar a media e ordenar do menor para o maior, como eu faria isso em uma query do mysql?

 

 

Pesquise por agregadores e por AVG (média)

 

 

Share this post


Link to post
Share on other sites

Motta consegui pegar a media geral, como eu faço um select por exemplo mostrando o tempo de cada competidor.

 

da maneira que fiz:

 

SELECT AVG(tempo) FROM tempos_competidores WHERE id_evento = '5'

 

Ele pega o valor da media de todos e queria a media de cada um ordenada da menor para maior.

Share this post


Link to post
Share on other sites

SELECT id

SELECT id_competidor ,  AVG(tempo) media_tempo
FROM tempos_competidores 
WHERE id_evento = '5'
Group by id_competidor

 

Share this post


Link to post
Share on other sites

Desculpa ter que reabrir o topico, mais precisei criar um novo relatorio onde calculo 2 campos e faço a media dos 2.

 

mais ele esta apenas somando, o que estou fazendo de errado?

 

select AVG(tempo+final) as media from bolao where id_evento = '10' GROUP BY id_competidor ORDER BY media ASC

 

Share this post


Link to post
Share on other sites
select id_competidor,AVG(tempo+final) as media 
from bolao 
where id_evento = '10' 
GROUP BY id_competidor O
RDER BY media ASC

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Luciano Marques
      Então pessoal é o seguinte: Estou tendo problemas para impedir acesso simultâneo no meu projeto. Foi depois de muito pesquisar que vim aqui abrir esse tópico. 
      Enfim, eu até consegui colocar uma teoria em prática que era a de criar uma coluna na tabela `usuarios` com 1 para ativo, e 2 para  inativo. e depois coloquei no topo a condição IF para se 1 já preenchido não permite o login. até ai de boa. o problema vem se o usuário não desloga só fecha a janela. a coluna ainda permanece como ativa 1. mesmo expirando o login, não ocorre o update na base de dados. Se alguém puder me ajudar nessa, preciso concluir esse trabalho ainda essa semana. desde já agradeço 
    • By drx
      Olá Pessoal!
       
      Eu estou tentando instalar o sgbd navicat para acessar meu banco de dados, porém sem sucesso. 
      Pergunta: Para usar o sgbd navicat é necessário instalar o mysqlserver  ou o navicat já traz no pacote dele ao instalar?
      Aguardo.
       
    • By renzogr
      Olá Masters
       
      Estou precisando incluir uma string num campo de uma tabela mysql.
      É o seguinte:
      Tenho um campo contendo instruções de uma receita culinária e preciso colocar a string "-- " (sem aspas) no início de cada linha do campo das instruções.
      Já tentei o 
      UPDATE tabela SET variavel = concat("-- ", variavel); mas ele só altera a primeira linha...  Preciso encontrar as demais linhas dentro do campo e colocar a string na frente.
       
      Alguém tem uma ideia de como fazer ?
       
    • By mayko@123
      TENHO O SEGUINTE SELECT :   select loja,NOME,PREÇO from produtos  GROUP BY NOME,LOJA order by NOME,PREÇO ASC ;
      E O RETORNO É : 
       
      LOJA             NOME                            PREÇO
      A banana prata 1,98 C                  banana prata 1,99 B          COCO VERDE 1 123   COCO VERDE 1 C  COCO VERDE 1 C   laranja pera rio 0,49 A       laranja pera rio 1,99 123 laranja pera rio 1211 B LARANJA SERRA DAGUA 1,99 C LARANJA SERRA DAGUA 2,99 B maca fuji 2,50 C maca fuji 2,97 A maca fuji 2,99 B MAMAO 1,97 C MAMAO 2,10 123 PESSEGO 12 C PESSEGO 2,30 A PESSEGO 234 C UVA 1212 123 UVA 212 A UVA 3,25  
      QUERIA QUE ME RETORNASSE APENAS O PRIMEIRO PRODUTO,PREÇO DE CADA LOJA POR EXEMPLO : A LOJA 'A'  VENDEU A BANANA MAIS BARATA, A LOJA 'B' VENDEU O COCO VERDE MAIS BARATO A LOJA 'C' A LARANJA..... e assim por diante , senão o retorno vai ficar muito extenso pois vai ser muitas lojas e produtos.
    • By lordstarlight
      Olá pessoal,
       
      Tenho uma base de dados onde há um campo decimal que guarda um valor tipo (10.20).
      Quanto tento retornar o valor multiplicado por quantidade (10.2 * 2) retorna apenas 20,00
       
      $subTotal = $qtdeItem * $precoProduto;
      echo  'R$ '.number_format($subTotal,2,",",".");?><br>
       
      Como faço para retornar 20,40 ?
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.