Ir para conteúdo

POWERED BY:

Arquivado

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

::Porto

Como ordenar este Select?

Recommended Posts

Pessoal, como fazer com que o SELECT abaixo forneça resultados respeitando a "seqüência" dentro da cláusula IN?

 

SELECT * FROM tabela WHERE campoid IN ('8','3','4')
Quando monto a consulta ele me fornece ordenado do menor ID para o maior.. que no exemplo acima forneceria ('3', '4','8'). Fiz alguns testes utilizando o ORDER BY mas não obtive êxito. Alguém poderia ajudar? Agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ORDER BY campoid

Se este campo for string e você quiser ordenar pelos números, terá de converter, daí tente isso::

ORDER BY cast(campoid as signed)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Infelizmente testei com as duas sugestões e o retorno tá sendo o mesmo quando não utilizo nenhum ORDER BY... ou seja.. a seleção não leva em consideração a sequencia do clausula IN ('8','3','4').... e sempre ordena ('3','4','8') crescente. :(

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não tem problema, pode ser que tenha complicado na explicação... rsss. Bom, fiquei surpreso porque achei que seria algo simples e talvez tenha percorrido um caminho mais difícil para a solução de um problema de classificação e contagem entre campos de tabelas... que resultou nesta sequência ordenada para inclusão no IN () do SELECT. Agradeço a sua colaboração. Um abraço.

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.