Ir para conteúdo
Fórum Script Brasil
  • 0

Como Ordenar Numericamente No Mysql


wrn

Pergunta

Estou tentando ordenar os dados vindos de uma coluna no MySQL (sou novato no assunto) mas não consigo colocar na ordem normal, tipo: 1, 2, 3, 4, 5... ele sempre coloca 1 depois 10, etc.. tudo que começa com 1, depois tudo que começa com 2, etc...

O Código tá assim:

include "config.php";

//carrega os dados

$sql = "SELECT * FROM satelite ORDER BY grau";

$resultado = mysql_query($sql)

or die ("Não foi possível realizar a consulta ao banco de dados");

while ($linha=mysql_fetch_array($resultado)) {

echo "<tr><td bgcolor='#F3F3F3' align='center'><font size=2>&nbsp;<b><a href='charts.php?ir=$linha[ini]'>&nbsp;$linha[grau] $linha[posicao]</b></a></font></td>";

A Coluna Grau possui números de até 5 digitos sendo assim:

27.1 Intelsat

1.0 Intelsat

115.5 Satmex

35.5 Panamsat

22.0 NSS

42.0 StarOne

2.0 Loral

101.0 Telesat

etc...

O resultado que aparece na ordenação é este:

1.0 Intelsat

101.0 Telesat

115.5 Satmex

2.0 Loral

22.0 NSS

27.1 Intelsat

35.5 Panamsat

42.0 StarOne

Gostaria que fossem ordenados assim:

1.0 Intelsat

2.0 Loral

22.0 NSS

27.1 Intelsat

35.5 Panamsat

42.0 StarOne

101.0 Telesat

115.5 Satmex

Obrigado desde já pela ajuda!

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

O que foi isso aqui ^ ???

Vê só , cara.

Mesmo usando o float, você não vai conseguir da forma que está os dados nas colunas.

Porque o sql, assim como qualquer sistema, é burro. Se você tem 10.4 , 20.5 , 1.56 , e assim vai.... ele vai considerar o primeiro número a definir o valor do conteudo.

Entendeu?

assim, se você pedir pro sql ordenar 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 e 10 ele responderá

1,10,2,3,4,5,6,7,8,9. Agora se você ordenar 01, 02 , 03 , 04 , 05 , 06 , 07 , 08 , 09 e 10 ele irá ordenar direitinho.

Bom, espero ter ajudado!

Link para o comentário
Compartilhar em outros sites

  • 0

Eu já consegui fazer o sistema com os dados do jeito que estão, obrigado pela ajuda pessoa!

Usei isto: CAST(grau AS SIGNED) ASC

Ah, porque tem uma pessoa postando aqueles códigos estranhos neste tópico?

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...