Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Jean Franceschi

[Resolvido] Ordenação numérica no BD

Recommended Posts

Oi gente, seguinte, uma dúvida q eu tenho é como fazer uma ordenação para mostrar os dados (em campo numérico) que faça ordenação por proximidade.

Vou colocar um exemplo de como é ordenação normal:

 

Ordenação ASC (Crescente):

Set XXX = Conexao_X.Execute("SELECT * FROM Tabela ORDER BY Campo_Numerico ASC")

 

Ordenação DESC (Decrescente):

Set XXX = Conexao_X.Execute("SELECT * FROM Tabela ORDER BY Campo_Numerico DESC")

 

 

Estes exemplos são simples, mas digamos q eu queira que seja feita aproximação por determinado número... Exemplo o número 5: Neste caso ele mostraria primeiro o número 5, depois o 6, depois o 4, depois o 7, depois o 3, etc...

 

Tipo assim:

Na tabela: 1

Na tabela: 2

Na tabela: 3

Na tabela: 4

Na tabela: 5

Na tabela: 6

Na tabela: 7

Na tabela: 8

Na tabela: 9

 

Quero mostrar os mais próximos do 5, então ele colocaria na seguinte ordem:

 

Na tabela: 5

Na tabela: 6 (mais próximo na ordem crescente)

Na tabela: 4 (Mais próximo que o 7)

Na tabela: 7

Na tabela: 3

Na tabela: 8

Na tabela: 2

Na tabela: 9

Na tabela: 1

 

 

 

A princípio pensei em colcoar isso em variáveis e ordenar elas, mas complicaria muito se o caso for de uma tabela com milhares de registros.

Por isso gostaria de saber se existe uma forma mais fácil de fazer isso.

 

Agradeço a atenção de todos aí =)

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode usar um array e utilizar a técnica de bubble sort, tem um exemplo no lab. de script que coloquei

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode usar um array e utilizar a técnica de bubble sort, tem um exemplo no lab. de script que coloquei

 

Devo ser burro, pq não achei teu exemplo lá =\

Tem como postar o link?

 

AGradeço a atenção =)

Compartilhar este post


Link para o post
Compartilhar em outros sites

tentei usar um exemplo disso:

 

Set XXX = Conexao_X.Execute("SELECT * FROM Tabela ORDER BY (Campo_Numerico>10 AND Campo_Numerico<10)")

 

Mas neste caso ele apenas mostra na ordem decrescente e não uma equiparação ao númeral 10 que está sendo dito =\

Ainda to tentando exemplos, mas ta difícil achar algo que sirva nessa situação =\

Compartilhar este post


Link para o post
Compartilhar em outros sites

segue ai -> link

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.