2012-03-19 57 views
6

我在该表中的MySQL表注释字段标签和所有的标签用逗号分隔像MySQL的组分隔值

评论表

Name Reply Tags 
a  b  new,old,facebook,fb 
b  d  water,faebook,wall 
b  r  wall,php,fb 
c  q  name,facebook,email 
a  y  weather,cold,old 
a  w  twitter,next,pet,fb 

我需要得到此表与MySQL查询最常用的标签..

+3

考虑重构你的数据库设计和存储标签名称/在一个单独的表回复的组合,与每一行对应一个标签。 – 2012-03-19 11:07:39

+1

你应该_really_尝试规范化表,MySQL是真的不分裂字符串非常好。该查询是可行的,但效率不高。 – 2012-03-19 11:08:41

+1

如果你不能规范化数据库,那么它只能在php脚本级别完成。 – neeraj 2012-03-19 11:12:52

回答

3

我认为最好的方法是使用一个单独的表标签和标签和表格(即之间的关系:C ommentTags),这将让你迅速找到那些使用任何speciffic标记注释,这样做统计等以您目前的做法,你最终使用的每一行,每次一个字符串分割。现在

,如果你被卡住你目前的做法,here是关于字符串分割,你会发现有用的问题。但是我可以预见的性能有很大的用户抱怨......

+0

感谢您的快速答复,但我的数据库是不归,所以我可以得到这个.... @Joachim伊萨克森我怎么能做到这一点在PHP .. – 2012-03-19 11:26:45