SQL: как посчитать, сколько строк содержат несколько ключевых слов
1 ответ
Предположим, что у вас есть таблица ключевых слов. Затем вы можете сделать:
select kw.word, count(d.city)
from keywords kw left join
dataset d
on d.description like concat('%', kw.word, '%')
group by kw.word;
Единственная проблема с этим - частичные совпадения. Таким образом, "деревья" будут соответствовать ключевому слову "дерево" (а также "re", "e" и т. Д.). Если вы знаете, что у вас нет знаков препинания и можете считать, что слова разделены пробелами, вы можете использовать:
select kw.word, count(d.city)
from keywords kw left join
dataset d
on concat(' ', d.description, ' ') like concat('% ', kw.word, ' %')
group by kw.word;