Código:
Luego hay otras dos tablas más que relacionan product_id con la información del producto y keyword_id con las keywords o palabras clave. Hasta aquí creo que se entiende.product_id keyword_id ---------- ---------- 1 1 1 2 1 3 2 5 2 6 2 7 2 3 3 8 3 6
Pues bien, lo que quiero lograr es una consulta MySQL que ordene de mayor a menor coincidencia con una serie de palabras clave dadas los productos. Es decir, que si busco un producto que tenga las keywords 1, 2 y 3, primero saque el producto que las tenga todas, luego los que tengan dos y luego los que tengan una.
Sé que se debería de poder hacer de forma simple, pero ayer me pasé unas dos horas con phpMyAdmin haciendo pruebas, con papel y lápiz delante y ni haciendo una consulta con "OR" directos, ni con JOINS ni con subconsultas, no he dado con la forma de ordenar los resultados por número de coincidencias con las palabras clave.
Creo que tendría que ser una tontería, pero no acabo de dar con ello. Si alguien puede ayudarme, le estaré muy agradecido

Muchas gracias por adelantado.
Saludos!!