Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Eu quero fazer uma busca de linhas, mas estes resultados serão apenas ordenados, ou seja as demais linhas que não deveriam aparecer, continuarão a aparecer, porém só devem aparecer depois.
Seria como se eu tive-se duas querys, algo assim:
SELECT * FROM `products` WHERE `keywords` LIKE '*cafeteira*' //Primeiro
SELECT * FROM `products` WHERE `keywords` NOT LIKE '*cafeteira*' //Segundo
Só que seria tudo em uma unica query, acredito que não seja necessário sub-querys e nem UNION.
Como posso fazer uma ordenação por busca?
Acredito que eu tenha conseguido assim:
SELECT products, ( INSTR(UPPER(chave), 'cafeteira')>0 ) AS hasKey FROM imoveis ORDER BY hasKey DESC
Mas não sei se é a melhor maneira, qual seria a melhor maneira (mais correta, com melhor performance, etc) ?
Motta eu não uso innoDB.
Acho que a query que eu fiz ficou prática e rápida:
SELECT products,(INSTR(UPPER(chave), 'cafeteira')>0) AS hasKey FROM imoveis ORDER BY hasKey DESC
http://forum.imasters.com.br/topic/451666-busca-em-innodb/?p=1786996
Uma solução.
Se tiver outra apresente por favor.
Full-Text Search Functions