2012-08-04 25 views
8

No sé a qué función se llama, pero estoy tratando de seleccionar una fila que coincida/tenga la mayor cantidad de caracteres para la salida. Esto es lo que he intentado.mysql - seleccione coincidir con la mayoría de los caracteres

select * from table where title like '%alotofcharactershere%' limit 1 

Lo anterior sólo funciona para toda la palabra de: alotofcharactershere

Lo que realmente quiero es que se rompa para arriba: a l o t o f c h a r a c t e r s h e r e y encontrar una fila que tiene los personajes más coincidentes que dan.

Por favor amablemente ayuda si sabes de lo que estoy hablando. Gracias de antemano.

Respuesta

1

He estado cavando y no soy un experto en SQL, pero estaba pensando en las líneas de pedido por longitud de caracteres después de un reemplazo de caracteres que no coinciden.

Algo así como: SELECT * FROM your_table ORDER BY LENGTH(REGEXP_REPLACE(title, '[^abcdefg]', ''));

2 problemas sin embargo. No coincide con los caracteres más diferentes encontrados. Entonces aaaa será de mayor valor que abc. Y creo que quieres decir que quieres que abc sea de mayor valor. El segundo problema es probablemente el más grande, mySQL no es compatible con esta expresión regular. Y no estoy seguro de que nada lo haga. Pero sí encontré este artículo: https://launchpad.net/mysql-udf-regexp

Aunque creo que debe haber algo mucho más simple y algo que realmente funciona de la caja, esta respuesta podría desencadenar la mente de alguien a pensar de la caja.

También puede haber una solución con una gran cantidad de combinaciones, pero eso es más probable más lenta que la selección de todo y ordenarla en php (o igual)

+0

Quiero decir, siempre podemos subscribir los primeros caracteres y hacer un rlike, pero quería probar algo nuevo, por lo tanto, conduce a esto .... – thevoipman

1

No está claro lo que estamos tratando de lograr lo que me pregunto si usted ha investigado Full Text Searches. La capacidad de encontrar relevancia podría darle algunas ideas o alternativas.

Cuestiones relacionadas