[英]How to count how many times a string appears in a field in mySQL separated by comma?
我的mySQL是这样的,一个id
和一个带有may短语的texts
,如下所示:
id texts
2 abc,fd4g,oigdu,abc,abc
3 ccc,fff,fff,ccc,iop
我的问题是如何使用PHP / mySQL进行显示
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
-field通常具有unique key
,这意味着只能自动递增值。 您有多个相同的数字,因此您显然不是唯一的,但有所不同。
与其他查询,您可以运行
SELECT id, texts, COUNT(*) FROM tbl group by id, texts
你的结果将是
2 | abc | 3
2 | fd4g | 1
等等。
您可以通过执行以下代码来获得相同值的计数
select id, texts, count(id) from table group by texts
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.