larkante 0 Denunciar post Postado Maio 15, 2013 Desculpe pessoal não soube como colocar o título melhor. A minha situação é a seguinte: - Tenho uma tabela e dois campos, Status Int(1) e Valor Int(10); - Preciso que o campo Valor se ordene ASC de acordo com o valor de Status que também deve se ordenar ASC.. Ex.: Status | Valor 1 | 560 0 | 180 0 | 213 2 | 800 1 | 452 1 | 150 O campo Valor deve se ordenar e separar dependendo do campo Status Ex.: Status | Valor 0 | 180 0 | 213 1 | 150 1 | 452 1 | 560 2 | 800 Eu tentei com Union, mas ele não deixa ASC o campo Valor: (SELECT * FROM tabela WHERE status = 0 ORDER BY valor ASC) UNION (SELECT * FROM tabela WHERE status = 1 ORDER BY valor ASC) UNION (SELECT * FROM tabela WHERE status = 2 ORDER BY valor ASC) Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Maio 15, 2013 SELECT * FROM tabela ORDER BY valor ASC,status asc Compartilhar este post Link para o post Compartilhar em outros sites
larkante 0 Denunciar post Postado Maio 15, 2013 SELECT * FROM tabela ORDER BY valor ASC,status asc Motta não é tão simples.. preciso que o campo Valor se ordene mas de acordo com o campo Status, como se fosse ordenado separadamente. Seguindo meu exemplo.: para Status = 0, ordenar Valor ASC -> 180 | 213 para Status = 1, ordenar Valor ASC -> 150 | 452 | 560 ... Veja que a ordem do campo Valor precisa ser separada de acordo com o campo Status. Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Maio 15, 2013 ORDER BY status asc,valor ASC ? Compartilhar este post Link para o post Compartilhar em outros sites
larkante 0 Denunciar post Postado Maio 15, 2013 ORDER BY status asc,valor ASC ? Dessa forma não funciona. Vou dar outro exemplo, Tenho uma tabela Corrida e nela tenho o campo Grupo, Corredor e Distancia, preciso que a consulta gere uma espécie de ranking ordenando pelo número do grupo e pela distância percorrida por cada participante do grupo. Ex.: Grupo | Corredor | Distancia 1 | Augusto | 560 0 | José | 180 1 | Luciano | 452 0 | Henrique | 213 2 | Paulo | 800 1 | Léo | 150 Preciso de Um ranking de Grupo e também de um ranking da Distancia de cada participante do grupo. Ex.: Grupo | Corredor | Distancia 0 | José | 180 0 | Henrique | 213 1 | Léo | 150 1 | Luciano | 452 1 | Augusto | 560 2 | Paulo | 800 Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Maio 15, 2013 ORDER BY Grupo , Distancia não funciona ?! veja também se algo neste tópico ajuda. Compartilhar este post Link para o post Compartilhar em outros sites
larkante 0 Denunciar post Postado Maio 15, 2013 ORDER BY Grupo , Distancia não funciona ?! veja também se algo neste tópico ajuda. Não funciona porque não faz a ordenação da distância dos corredores, somente do grupo. Order by direto nos dois campos ficaria assim: Grupo | Corredor | Distancia 0 | José | 180 0 | Henrique | 213 1 | Augusto | 560 1 | Luciano | 452 1 | Léo | 150 2 | Paulo | 800 Com Php eu já consegui, só queria saber se tinha como fazer diretamente via sql, mas não deve ter como. Obrigado Motta. Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Maio 15, 2013 Nao entendi pq o grupo 1 ficou descendente na distancia mas ok. Compartilhar este post Link para o post Compartilhar em outros sites
larkante 0 Denunciar post Postado Maio 15, 2013 Nao entendi pq o grupo 1 ficou descendente na distancia mas ok. Estava estranho mesmo Motta, então fiz um teste com outra tabela e funcionou. Meu problema é que meu campo Distancia estava varchar x.x . Aí não dava certo mesmo. Assim funciona desde que o campo seja INT: SELECT * FROM corrida ORDER BY grupo ASC, distancia ASC Obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Maio 16, 2013 ok Compartilhar este post Link para o post Compartilhar em outros sites