私は、ストアドプロシージャに渡される特定の文書IDのリストに基づいて、キーワードが文書テーブルに現れる出現回数を数えるのに最も効率的な方法を試しています。SQL文書のキーワードの出現回数
SPは、パラメータ@DocIds
をカンマ区切りリストとして指定します。 100、2010、2340
DocIDが存在するレコードを、私が渡しているカンマ区切りリストに選択し、キーワードを一時テーブルに記録するだけですが、キーワードがある場合はカウントを保持します。すでに私の一時テーブルに追加されています。例えばので
(原稿台):表が戻ってくる
DocID | Keywords
-----------------------------
100 | Test, Document, Info
2010 | Document, users
4 | ....
2340 | users, client
温度:
Keyword | Count
Test | 1
Document | 2
Info | 1
users | 2
client | 1
私は任意の助けをいただければ幸いいくつかのSQLの第一人者が、このための最適なソリューションを持っていると確信しています。私はあなたが
INSERT INTO tmp VALUES ('users',(
SELECT COUNT(DocID) FROM Documents WHERE keywords LIKE '%users%')
)
カンマ区切りフィールドを解析するソリューションはこれに大きく依存するため、データベースとバージョンを含める必要があります。 –
良い呼び出し - 私はSQL Server 2008を使用しています – user1202263