Breaking

Post Top Ad

Your Ad Spot

lunes, 18 de marzo de 2019

Cómo ordenar los resultados Orden por mejor coincidencia usando LIKE en MySQL

Cuando utiliza el operador LIKE para buscar y obtener los resultados coincidentes de la base de datos, los registros se seleccionan en función de su entrada. Por otro lado, la palabra clave ORDER BY le permite ordenar el conjunto de resultados en orden ascendente o descendente según una columna específica. Pero el orden ascendente o descendente no es útil en un resultado de búsqueda con el operador LIKE. Porque el conjunto de resultados no será relevante con ORDER BY en MySQL.
En la búsqueda LIKE, los resultados deben ordenarse en función de las coincidencias de palabras para que el conjunto de resultados tenga más relevancia. Aquí le mostraremos cómo ordenar los resultados por mejor coincidencia usando LIKE en MySQL.
La siguiente consulta SQL ordenará el orden de los resultados de MySQL por mejor coincidencia en la búsqueda LIKE. Los resultados coincidentes se ordenarán por el siguiente orden:
  • Coincidencia exacta con la palabra de búsqueda.
  • A partir de la palabra de búsqueda.
  • Buscar palabra en el medio.
  • Terminando con la palabra de búsqueda.
  • Buscar palabra en cualquier posición.
SELECT palabra
 DE palabras
 DONDE palabra LIKE  '% searchstring%' 
ORDER  POR 
  CASO 
    CUANDO palabra LIKE  'searchstring'  ENTONCES  1 
    CUANDO palabra LIKE  'searchstring%'  ENTONCES  2 
    CUANDO palabra LIKE  '% searchstring'  ENTONCES  4 
    ELSE  3 
  FIN
En la consulta SQL de ejemplo, se asume lo siguiente:
  • Nombre de la tabla de la base de datos - words
  • Nombre de columna word
  • Buscar la palabra clave - searchstring

No hay comentarios.:

Publicar un comentario

Dejanos tu comentario para seguir mejorando!

Post Top Ad

Your Ad Spot

Páginas