我有AA表「單詞表」,用歸因於每個單詞的得分:1或-1:MySQL的:動態「IN」子句從上一個字符串的分割
id | name | val
1, 'hello', 1,
2, 'world', -1
3, 'test', 1,
...
我也有一個表「文本」包含文本:
id | text | score
1, 'hello world', 0
2, 'Lorem Ipsum Dolor Sit Amet...', 0
...
我想更新字段「分數」從表「文本」這個規則:
得分=總和(wordlist.val),其中,每個字該句子出現在單詞列表中。
我試過這種方法,但它不工作:
update texts as t set score=(select sum(val) from wordlist where word in (concat('\'', replace(t.text,' ','\',\''),'\'')))
我有超過50萬行數據的過程,所以我寧願只使用MySQL中,不使用任何PHP。
如果您有解決方案,請提前致謝!
我希望MySQL中有一個explode()函數!
不錯,'find_in_set()'應該很快!雖然可能需要一個'group by'? – 2012-12-10 21:23:39
@ebyrob是的,我忘了一羣,對不起:)'find_in_set'很好,但我不認爲它比'like' – fthiella