Faelzindc 0 Denunciar post Postado Maio 22, 2011 Eai galera, beleza? O que eu quero fazer, é que na minha consulta exibe primeiro os que "país = 'br'" com order by em outra coluna, e depois listar o resto dos dados. Só que eu gostaria de fazer isso em apenas uma query, pois vou usar paginação. Tem como eu fazer isso? Na gambiarra seria: mysql_query("SELECT pais, tipo from tabela WHERE pais=br ORDER BY tipo"); mysql_query("SELECT pais, tipo from tabela WHERE pais!=br ORDER BY tipo"); Entenderam? Obrigado desde já. Abraço! Compartilhar este post Link para o post Compartilhar em outros sites
Caio Cardoso 0 Denunciar post Postado Maio 23, 2011 tenta isso cara: SELECT '1' ,pais, tipo from tabela WHERE pais=br union SELECT '2', pais, tipo from tabela WHERE pais=br ORDER BY 1, tipo O primeiro campo serve apenas para ordenar do jeito que você quer. se não quiser mostrar o numero 1 e 2 você pode fazer o seguite: select pais, tipo from (SELECT '1' ,pais, tipo from tabela WHERE pais=br union SELECT '2', pais, tipo from tabela WHERE pais=br ORDER BY 1, tipo) as dados Abrs Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Maio 23, 2011 Use um case SELECT pais, tipo from tabela ORDER BY (case pais = 'br' then 0 else 1 end),tipo Compartilhar este post Link para o post Compartilhar em outros sites