Kryone Postado Abril 8, 2011 Denunciar Share Postado Abril 8, 2011 Seguinte, Tenho quer colocar no meu Select sempre o id = 4594 no topo dele. Isto é , ordenar ele em primeiro , depois seguir o select normalmente. Fiz isso aqui e fez o que eu qria. SELECT * FROM `www`.`publications` order by id = 4598 desc, published_at desc, id desc Mas não aceitaram , falaram que é tosco. Tem outra forma de fazer isso ? :ninja: Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Kakao Postado Abril 8, 2011 Denunciar Share Postado Abril 8, 2011 (editado) O outro jeito é fazer um union:select *, 0 as ordenador from p where id = 4598 union select *, 1 as ordenador from p where id != 4598 order by ordernador, published_at desc, id desc Editado Abril 8, 2011 por Kakao Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Denis Courcy Postado Abril 12, 2011 Denunciar Share Postado Abril 12, 2011 Oi 'Kryone',Uma solução seria:SELECT if(id=4598,0,1) AS ordem, tabela.* FROM tabela order by ordem ASC, published_at desc, id desc Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Kryone
Seguinte,
Tenho quer colocar no meu Select sempre o id = 4594 no topo dele.
Isto é , ordenar ele em primeiro , depois seguir o select normalmente.
Fiz isso aqui e fez o que eu qria.
SELECT * FROM `www`.`publications` order by id = 4598 desc,
published_at desc, id desc
Mas não aceitaram , falaram que é tosco.
Tem outra forma de fazer isso ?
:ninja:
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.