列出最常用的关键字

时间:2010-09-29 02:04:02

标签: php mysql

我有一个包含以下列的mysql表:id,text,keywords。

ID是一个ID。文字是标题。关键字是此格式的代码列表:tag1 tag2 tag3

如何获取列中最常用的关键字列表?例如。如果我想从表格中的所有项目构建标签云。

3 个答案:

答案 0 :(得分:4)

有办法做你想做的事。但这并不简单。您在此数据库中组织关键字的方式会引起很多麻烦。您应该尝试normalize数据。

也许不是这样:

id   text   keywords
1    bob    he she it
2    thing  white yellow hello

为关键字提供单独的表格:

id keyword
1  he
1  she
2  white
2  yellow

这样,找到你想要的东西会更简单:

select count(keyword) as num from `keywords` group by keyword order by num desc

答案 1 :(得分:0)

一种简单的方法是创建一个数组,其中每个键都是tag#。每个密钥的值是tag#出现在数据库中的次数;这将涉及遍历数据库中的每个标记。

答案 2 :(得分:0)

您可能最好还原规范化数据库表。也许是这样的:

Items table :  id, text

Tags table : id, text

items_tags table:  item_id, tag_id

通过这种方式,您可以将多个标记与每个项目相关联,并且标记计数的查询变得简单。