3

次のようなユーザーによるコメントの表があります。

id  Comments
1   The battery drains off very soon 
2   Screen Quality is very good
3   Even I have the same battery problem
4   Battery can be imporved
5   Screen goes blank sometimes...
6   Over all build is nice

したがって、上記の場合、私は電話の最も話題になっている機能を見つけたいと思います。その結果、50%がバッテリーについて、30%が画面について、20%がその他について話していると表示できます。

どうすればこれを達成できますか?また、前置詞、接続詞などを結果セットから除外する方法。

4

1 に答える 1

2

キーワードのリストがある場合は、次のことができます。

select kw.keyword, count(*) 
       from t cross join keywords kw on concat(', ', t.title, ',') like concat(', ', kw.keyword, ',')

ただし、他の人が述べたように、非リレーショナル データベース設計があります。タイトルのキーワードは、カンマ区切りのリストとしてではなく、別々の行に格納する必要があります。

データが小さい (数十万行以下) 場合は、Excel に入力し、テキストから列への変換機能を使用し、キーワードを再配置して、データベースに新しいより適切なテーブルを作成できます。

于 2013-02-22T06:29:39.147 に答える