我的mySQL是这样的,一个id
, 和一个 texts
有可能的短语和一些相同的如下:
id texts
2 abc,fd4g,oigdu,abc,abc
3 ccc,fff,fff,ccc,iop
我的问题是如何使用 PHP/mySQL 显示
- 每个ID
2 - abc - 3 times
2 - fd4g - 1 times
2 - oigdu - 1 times
3 - ccc - 2 times
3 - fff - 2 times
3 -iop - 1 times
或通过文本搜索
abc - 2 times - 2
fd4g - 1 times - 2
oigdu - 1 times - 2
ccc - 2 times - 3
fff - 2 times - 3
iop - 1 times - 3
-
如果我的 mySQL 结构是:
id texts
2 abc
2 fd4g
2 oigdu
2 abc
2 abc
3 ccc
3 fff
3 fff
3 ccc
3 iop
这会更容易吗?
最佳答案
第二种结构会更容易。但是您不应该将第一列命名为 id
,因为 id
字段通常具有 unique key
值,这意味着只有自动递增的值。你有多次相同的数字,所以你显然不是唯一的,而是不同的东西。
您可以运行其他查询
SELECT id, texts, COUNT(*) FROM tbl group by id, texts
你的结果是
2 | abc | 3
2 | fd4g | 1
等等。
关于php - 如何计算一个字符串在mySQL中以逗号分隔的字段中出现了多少次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25783446/