Нахождение количества поисковых ключевых слов в повторной записи результата MySQL - PullRequest
0 голосов
/ 07 марта 2011

У меня проблема с моим алгоритмом ранжирования.

Я выполняю этот запрос в MySQL:

SELECT    *
FROM table_name
WHERE field_name LIKE "%string_1%" OR field_name LIKE "%string_2%" OR field_name LIKE "%string_3%" OR field_name LIKE "%string_4%"

Может быть более 1 вхождения каждой строки, и тамдаже может быть более 1 строки, присутствующей в записи.

Как узнать, сколько и какая из этих строк присутствует в записи результата?

1 Ответ

0 голосов
/ 07 марта 2011

Просто нужно добавить GROUP BY и COUNT

SELECT field_name, COUNT(field_name)
FROM table_name
WHERE field_name LIKE "%string_1%" 
OR field_name LIKE "%string_2%" 
OR field_name LIKE "%string_3%" 
OR field_name LIKE "%string_4%"
GROUP BY field_name

Вы можете вернуть все поля, используя table_name.* вместо field_name

...