Derme 0 Denunciar post Postado Abril 13, 2007 Olá!Estou precisando usar uma instrução GROUP BY (ou outra que possa resolver o problema)O problema é que preciso que os registros agrupados fique em uma ordem definida por mime não simplesmente em ordem crescente ou decrescente. Exemplo:tenho um campo chamado STATUS que os valores podem ser A,B,C ou D, então faria:select * from minha_tabela GROUP BY STATUSmas não quero que a ordem seja : "A B C D" ou "D C B A" preciso por exemlo que seja "C A D B" tem como definira ordem que eu quero sem ter que fazer uma query para cada? Compartilhar este post Link para o post Compartilhar em outros sites
walace 1 Denunciar post Postado Abril 13, 2007 De onde surgiu esta ordem aí ?Se não tiver outro campo que te retorne nesta ordem não vejo como não. Compartilhar este post Link para o post Compartilhar em outros sites
Derme 0 Denunciar post Postado Abril 13, 2007 E se fosse com order by ao invés de group by também não teria? Compartilhar este post Link para o post Compartilhar em outros sites
walace 1 Denunciar post Postado Abril 13, 2007 Foi isto que eu quis dizer, qual a regra, de onde vem esta ordem que você falou ? Compartilhar este post Link para o post Compartilhar em outros sites
Derme 0 Denunciar post Postado Abril 14, 2007 O problema é q não tem uma regra específica, queria saber se eu podia decidir manualmentepor exemplo, que todos os registros do estatus com valor "D" viria primeiro, depois com valor "C" depois "A" depois "B"claro que aí é só um exemplo Compartilhar este post Link para o post Compartilhar em outros sites
Eclesiastes 2 Denunciar post Postado Abril 14, 2007 Sim, usando UNION. Por exemplo: SELECT campo1, campo2 FROM tabela WHERE status = 'D'UNIONSELECT campo1, campo2 FROM tabela WHERE status = 'C'UNIONSELECT campo1, campo2 FROM tabela WHERE status = 'A'UNIONSELECT campo1, campo2 FROM tabela WHERE status = 'B'Mais informações: http://www.mysql.com/union Compartilhar este post Link para o post Compartilhar em outros sites