[英]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.