2012-06-27 2 views
0

Я ищу функцию SQL, которая может получить 20 наиболее похожих результатов. Если результаты совершенно разные, я все же хочу, чтобы он получал 20 результатов, начиная с наиболее похожих.PHP mySQL аналогичная функция, а не LIKE

Параметр LIKE, похоже, ищет совпадения, которые слишком требовательны к текущей переменной, и на данный момент в этом примере запрос получает только 2 результата.

$sims = mysql_query("SELECT * FROM electors 
        WHERE constituency = '$constituency' AND ward = '$ward' 
        AND surname LIKE '$surname'"); 
+1

У вас попробуйте 'RLIKE' или используйте ИЛИ, если вы хотите, чтобы какое-либо из условий было сопоставлено – diEcho

+0

Возможный дубликат [Как найти похожие результаты и отсортировать по сходству?] (Http://stackoverflow.com/questions/3338889/how-to-find-like-results-and-sort-by-Similarity) – xdazz

+1

Ваш вопрос немного неясен. что ты хочешь?? вы можете написать желаемые результаты. – diEcho

ответ

0

Вы можете использовать LIKE с % что не так строги. Например, surname LIKE '%apple%' вернет поля, у которых есть яблоко в середине, например ананас, apple123 или ананас123.

Смежные вопросы