我有以下的「鳴叫」表:尋找forrecords包含特定字符串
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。所以兩個問題:(一)我在做什麼錯誤以及(ii)有沒有更有效的方法去做這個?
[編輯]
我想結果插入到「用戶」表:
user_id tweets_with_tag
2 2
3 0
4 9
是否有可能算在同一查詢插入?
您希望將這些值插入「用戶」表中的頻率如何?也許你想使用[View](http://dev.mysql.com/doc/refman/5.0/en/create-view.html)而不是常規表? – mkk 2012-03-29 11:22:52
我有大約100.000個用戶和幾百萬條推文。我只需要做一次 - 它用於研究靜態數據集,而不是實時應用程序。 – Pr0no 2012-03-29 11:33:14