这个问题是关于MySQL Query的。我有三张桌子:
1.brand(由:文本组成)
2.englishkeyword(由ID,word组成)
3.englishmodel(包括:ID,Pscore)
我想算一下“文字”中有多少单词'使用已经在单词中确定的单词'。然后将结果存储在' Pscore'中。这是我的代码
SELECT ek.ID as ID, COUNT(*) as Pscore
FROM englishkeyword ek, brand
WHERE (brand.text LIKE CONCAT('%', ek.word, '%'))
GROUP BY ek.ID;
INSERT INTO englishmodel (ID, Pscore)
SELECT ek.ID as ID, COUNT(*) as Pscore
FROM englishkeyword ek, brand
WHERE (brand.text LIKE CONCAT('%', ek.word, '%'))
GROUP BY ek.ID
ON DUPLICATE KEY
UPDATE Pscore = VALUES(Pscore)
它有效。 我的问题是:我可以在一段时间内对许多ID进行此查询吗?假设我有1000个身份证。
然后我这样编辑:
randoDub
但结果是这样的:
真诚地感谢任何回答
答案 0 :(得分:1)
以下查询返回每个单词的分数:
SELECT ek.ID as ID, COUNT(*) as Pscore
FROM englishkeyword ek, brand
WHERE (brand.text LIKE CONCAT('%', ek.word, '%'))
GROUP BY ek.ID
然后您可以将此查询用于INSERT ... ON DUPLICATE KEY UPDATE分数。
INSERT INTO englishkeywordmodel (ID, Pscore)
SELECT ek.ID as ID, COUNT(*) as Pscore
FROM englishkeyword ek, brand
WHERE (brand.text LIKE CONCAT('%', ek.word, '%'))
GROUP BY ek.ID
ON DUPLICATE KEY
UPDATE Pscore = VALUES(Pscore)