繁体   English   中英

如何计算字符串在MySQL中的字段中出现多少次(用逗号分隔)?

[英]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进行显示

  1. 每个编号

2 - abc - 3 times

2 - fd4g - 1 times

2 - oigdu - 1 times

3 - ccc - 2 times

3 - fff - 2 times

3 -iop - 1 times

  1. 或通过文字搜索

    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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM