У меня есть следующая таблица «твитов»:
tweet_id user_id text
---------------------------------------------------
1 2 this is a tweet with (TAG} in it
2 2 tweet without a TAG
3 2 {TAG} another {TAG} tweet
4 4 look at my {TAG} and weep!
Я хочу подсчитать для каждого пользователя количество твитов, которые содержат {TAG}
хотя бы один раз. Тэг может быть где угодно в твите: в начале, в середине или в конце (читай: без пробела или чего-либо). Таблица содержит миллионы записей, поэтому я ищу эффективный способ сделать это. Моя первая попытка была
SELECT COUNT(tweet_id) FROM tweets WHERE `text` LIKE '%{TAG}%' AND user_id = 2
но это возвращает 0, тогда как в этом примере ожидалось, что оно вернется 2. Итак, два вопроса: (i) что я делаю неправильно и (ii) есть ли более эффективный способ сделать это?
[EDIT] * * +1010
Я хотел бы вставить результат в таблицу "users":
user_id tweets_with_tag
2 2
3 0
4 9
Можно ли считать и вставлять в один и тот же запрос?