簡體   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