如何在MySQL中的列中找到最重复的单词?

时间:2013-02-22 06:25:36

标签: mysql

我有一个用户评论表,如:

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%的其他人。

怎么能实现这个目标?还有如何从结果集中排除介词,连词等。

1 个答案:

答案 0 :(得分:2)

如果您有关键字列表,则可以执行以下操作:

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

正如其他人所提到的,你有一个非关系数据库设计。标题中的关键字应存储在单独的行中,而不是以逗号分隔的列表存储。

如果您的数据很小(几十万行或更少),您可以将其放入Excel,使用text-to-columns函数,重新排列关键字,并在数据库中创建一个新的更好的表。 / p>