Ir para conteúdo

Arquivado

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

Inside

2 parâmetros order

Recommended Posts

Caros amigos,

 

é possível ordenar resultados por 2 parâmetros Order By?

 

Preciso odernar resultados por tipo, onde o tipo 1 deve ficar em cima e o tipo 2 no final da lista, a questão é que a lista deve ficar em order alfabética, ex.:

 

 

Ana = tipo 1

Carlos = tipo 1

Eduardo = tipo 1

Ana Paula = tipo 2

Fabio = tipo 2

Marcelo = tipo 2

 

 

Tentei assim mas não deu certo:

 

SQLde = "SELECT * FROM nomes where status = 1 order by tipo, nome"

 

Obrigado pela atenção recebida.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Existe 2 colunas na tabela "nomes" uma chamada "tipo" e a outra chamada "nome" certo? isso ta correto ok?

 

Faça uma inversão

 

SQLde = "SELECT * FROM nomes where status = 1 order by nome, tipo"

 

E veja se pela ordem não resolva.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta assim:

SQLde = "SELECT * FROM nomes  order by nome ,tipo"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não ficou claro o que quer se a ordem for em ordem alfabética o que postou no exemplo está errado e o certo seria como os membros postaram acima

 

Agora se quer que organize primeiro pelo tipo e depois por ordem alfabética como no seu exemplo o que postou inicialmente era para estar correto

 

Que erro que dava?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mário ele diz no post #3 que não dá erro, somente não organizava da maneira que ele queria, porém 3 pessoas disseram para ele fazer a inversão e como ele não voltou presumo que já tenha resolvido.

 

A instrução sql dele esta correta, certamente foi a ordem.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas se inverter a ordem inverte a sua ideia inicial postada no post 1

 

Ana = tipo 1

Carlos = tipo 1

Eduardo = tipo 1

Ana Paula = tipo 2

Fabio = tipo 2

Marcelo = tipo 2

 

Veja que teoricamente queria que ordenasse por tipo e depois por nome

 

mas já que ele não se manifesta não podemos acrescentar muita coisa

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mais repare na instrução sql postada por ele no primeiro post, apesar dele colocar no exemplo que deveria ordenar primeiramente com o "nome" ele estava colocando o "tipo" primeiramente, portanto acho que já foi resolvido.

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

é possível ordenar resultados por 2 parâmetros Order By?

 

Preciso odernar resultados por tipo, onde o tipo 1 deve ficar em cima e o tipo 2 no final da lista, a questão é que a lista deve ficar em order alfabética...

 

veja a prioridade que ele colocou...

Compartilhar este post


Link para o post
Compartilhar em outros sites

kkk sim Mário porém no exemplo que ele postou, ele seguiu essa ordem

 

Ana = tipo 1

Carlos = tipo 1

Eduardo = tipo 1

Ana Paula = tipo 2

Fabio = tipo 2

Marcelo = tipo 2

E na instrução SQL

 

SQLde = "SELECT * FROM nomes where status = 1 order by tipo, nome"

 

Repare que esta listado por nome primeiramente e depois por tipo, por isso no order by deveria vir o nome antes do tipo, para arrumar a ordem do tipo por numeração bastaria usar ASC ao final.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

não patrique ele apenas exibiu o nome na frente do tipo

 

mas a ordem é tipo e nome se fosse nome e tipo teriamos

 

Ana = tipo 1

Ana Paula = tipo 2

Carlos = tipo 1

Eduardo = tipo 1

Fabio = tipo 2

Marcelo = tipo 2

 

Percebe?

 

Apenas exibiu ao contrario, da forma que ele colocou seria o mesmo que termos

 

tipo 1 = Ana

tipo 1 = Carlos

tipo 1 = Eduardo

tipo 2 = Ana Paula

tipo 2 = Fabio

tipo 2 = Marcelo

 

a ordem seria a mesma mas alteramos a forma de exibir

 

e no caso o ASC é opcional pois é o default para ordenação

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hum, saquei, pela ordem eu presumi que ele queria no nome, além disso achava que o bd levaria em conta o primeiro valor colocado em uma instrução nesse caso no order by, se for isso acho que um ASC no final resolveria o problema então.

Compartilhar este post


Link para o post
Compartilhar em outros sites

a instrução sempre ordenará na ordem dos parametros que forem colocados, neste caso a inversão dos mesmos faz toda diferença

 

no exemplo acima alterou apenas um registro mas isso porque o conjunto de dados era pequeno e já estava relativamente em ordem mas para um numero mais alto a variação seria muito mais notada

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.