我有这样的表:
-----------
ID | Value
-----------
1 | AAAA
2 | ABCD
3 | AADC
4 | ABBD
我试图弄清楚如何返回字符串在每个值中出现的次数。
所以,如果我想计算'A'和'B'出现的时间,sql语句将像这样返回:
-------------------
ID | Value | Count
-------------------
1 | AAAA | 0
2 | ABCD | 1
3 | AADC | 0
4 | ABBD | 2
5 | ABBB | 3
6 | AABB | 3
7 | AAAB | 3
有什么办法可以做到这一点吗?我不想使用php、vb等,只要MySQL
最佳答案
似乎您想对值进行计数,然后合并结果。我相信这样的事情会对你有用。
SELECT
id,
value,
ROUND (
(
LENGTH(value)
- LENGTH(REPLACE(value, "A", ""))
) / LENGTH("A")
) AS count
FROM chars
UNION ALL
SELECT
id,
value,
ROUND (
(
LENGTH(value)
- LENGTH(REPLACE(value, "B", ""))
) / LENGTH("B")
) AS count
FROM chars
关于mysql - 计算字符串中两个或多个重复字符的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29932325/