0

我不知道这是否可能,但它会简化我的计算,以便能够通过单个查询匹配查找表中的每个单词。(否则,我可能会将表拉入内存并在 python 中编写一系列查询):

SELECT count(*) FROM input_form
WHERE MATCH (title,story) AGAINST (word);

上面将返回包含“单词”的故事数量的计数,但是有没有办法让它对包含这些单词的表中的每个单词重复这个计数?

SELECT 
word,
count(MATCH (title,story) AGAINST (word))
FROM keywords;

类似的东西?请注意,标题和故事来自一个表格,而单词来自另一个表格。

4

2 回答 2

0

是的。过了一会儿,我认为这在 MySql 中可能几乎是不可能的,但我确实在循环中使用了 python MySql 模块的 db.cursor() 和 cursor.execute() 方法来生成所需的表,然后将其上传到数据库(因为为页面动态执行此操作会很疯狂)。

于 2011-06-10T17:52:42.770 回答
0

我有点生疏,但我认为您想使用嵌套选择:

SELECT tbl.word, count(*) FROM (SELECT * FROM input_form WHERE MATCH(title, story) AGAINST (word)) as tbl;

如果我记得,您可能需要添加另一层嵌套。

于 2011-06-07T23:09:27.763 回答