Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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 ASCPesquise melhor, mas acho que campos do tipo float não podem ser ordenados.
Motta ele não ordena pelo tempo menor e sim pelos ultimos cadastros, como imagem em anexo.

Qual o tipo da coluna 'tempo'?
decimal ou string?
Gabriel o campo e decimal com float(9,2)
>
1 hora atrás, Tante disse:
Pesquise melhor, mas acho que campos do tipo float não podem ser ordenados.
Desculpa. Misturei os tipos.
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?
Procurou no google já?
>
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)
Motta obrigado, não sabia mais agora tenho um norte.
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.Pesquise por 'GROUP BY'
Gabriel dei conta aqui, obrigado:
SELECT AVG(tempo) FROM tempos_competidores WHERE id_evento = '5' GROUP BY id_competidor ORDER BY AVG(tempo) ASC
SELECT id
SELECT id_competidor , AVG(tempo) media_tempo
FROM tempos_competidores
WHERE id_evento = '5'
Group by id_competidorMotta basicamente apos testar vi que faltou um campo para puxar igual voce fez, ai tinha feito igual voce mandou.
obrigado a todos, resolvido meu problema
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
select id_competidor,AVG(tempo+final) as media
from bolao
where id_evento = '10'
GROUP BY id_competidor O
RDER BY media ASC
E possivel voltar um valor para null ou não?
¡¿!?
Hoje eu tenho um campo que se eu não cadastrar nada nele originalmente ele fica como NULL.
Quando eu coloco um valor ele deixa de ser NULL e passa a ser esse valor.
e possível volta-lo para NULL?
Sim
Update tabela set campo = null where ....
>
Citar
não vai
Não vai para onde ? :)
Qual o erro ?