0

これが可能かどうかはわかりませんが、1つのクエリでルックアップテーブルの各単語と照合できるようにすると、計算が簡単になります。(そうでなければ、おそらくテーブルをメモリにプルして、Pythonで一連のクエリをプログラムします):

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

上記は「単語」を含むストーリーの数のカウントを返しますが、これらの単語を含むテーブル内のすべての単語に対してこのカウントを繰り返す方法はありますか?

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

そんな感じ?タイトルとストーリーは1つのテーブルからのものであり、単語は別のテーブルからのものであることに注意してください。

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 に答える