• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

ricardocoimbra

Dúvida para ordenar

3 mensagens neste tópico

Pessoal tenho um campo númerico tenho quero ordenar por ordem crescente mas que o zero nao aparece no inicio apareça no fim por exemplo isto:

Select * from preco order by preco asc

// ele vai me ordenar assim

0

10

20

30

40

Mas eu queria que o zero fosse sempre para o fim, que ficasse assim:

10

20

30

40

0

Pk se tiver 0 eu não quero que apareça logo no inicio da lista alguma sugestão?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

hmhmh não é grandesolução :/

Com duas queries fazes isso (de momento não me ocorre melhor solução)!

1ª Query:

SELECT * FROM preco WHERE preco<>0 ORDER BY preco ASC

2ª Query:

SELECT * FROM preco WHERE preco=0

A 1ª retorna todos os elementos cujo preço é diferente de 0 ordenados pelo preço, e a 2ª todos os elementos cujo preço é 0.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

(SELECT * FROM precos WHERE preco<>0 ORDER BY preco) UNION (select * from precos WHERE preco=0);

Por qualquer motivo, quando testei isso a 1ª vez, não funcionou! :|

De qualquer das formas, está a funcionar agora e resolve o teu problema!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora