0

我有一个名为关键字的列,用户最多可以输入 4 个用逗号分隔的关键字,即:

----------------------------------
userId |    kewords              |
----------------------------------
01     | php,css,html,mysql      |
02     | wordpress,css,drupal,xx |
03     | mysql,html,wordpress,css|
----------------------------------

我试图找出一个查询来选择每个人的所有关键字,用昏迷将它们分解,然后计算每个关键字的数量。

我知道我可以用 PHP 很容易地做到这一点,但我虽然 mysql 可能有办法做到这一点......

有任何想法吗?

4

1 回答 1

0

尝试规范化数据,即为每个用户存储 4 行而不是 1 行。

也可以将字符串拆分为临时表,但我不确定这会对您有多大帮助。最初我在 mysql forge 上找到了这个源,但它已被关闭,所以这里有一个类似的代码

http://www.pnplogic.com/blog/articles/MySQL_Convert_Delimited_String_To_Temp_Table_Result_Set.php

于 2012-10-24T11:30:17.237 回答