我不知道这是否可行,但它会简化我的计算,以便能够使用单个查询匹配查找表中的每个单词。 (否则,我可能会将表拉入内存并在python中编写一系列查询):
SELECT count(*) FROM input_form
WHERE MATCH (title,story) AGAINST (word);
以上将返回包含'word'的故事数量的计数,但是有没有办法让它为包含这些单词的表格中的每个单词重复此计数?
SELECT
word,
count(MATCH (title,story) AGAINST (word))
FROM keywords;
那样的东西?请注意,标题和故事来自一个表格,而单词来自另一个表格。
答案 0 :(得分:0)
我有点生疏,但我想你想使用嵌套选择:
SELECT tbl.word, count(*) FROM (SELECT * FROM input_form WHERE MATCH(title, story) AGAINST (word)) as tbl;
如果我记得,你可能需要添加另一个嵌套级别。
答案 1 :(得分:0)
烨。过了一会儿我决定在MySql中几乎不可能,但我确实使用了循环内部的python MySql模块的db.cursor()和cursor.execute()方法来生成所需的表,然后将其上传到数据库(因为为页面动态执行此操作会很疯狂)。