Php MYSQL统计某个值作为值存在于表字段中的次数
MYSQL检查某些值是否作为值存在于表的字段中 我有一个带有字段的表:Php MYSQL统计某个值作为值存在于表字段中的次数,php,mysql,sql,Php,Mysql,Sql,MYSQL检查某些值是否作为值存在于表的字段中 我有一个带有字段的表: idnamevalue 1项目1822 2项目2658 3项目3321 我想弄明白这一点: 我想计算一个字段中存在值的次数 示例: 如果我在搜索2和8,那么 结果是: 行id 1的计数为3(因为它有两个2和一个8) 行id 2的计数为1(因为它有一个8号) 行id 3的计数为1(因为它有一个2号)您可以使用replace()和length()(或char\u length())执行此操作: 列值的数据类型?(可怕的列名…)数
idnamevalue
1项目1822
2项目2658
3项目3321
我想弄明白这一点:
我想计算一个字段中存在值的次数
示例:
如果我在搜索2和8,那么
结果是: 行id 1的计数为3(因为它有两个2和一个8)
行id 2的计数为1(因为它有一个8号)
行id 3的计数为1(因为它有一个2号)您可以使用
replace()
和length()
(或char\u length()
)执行此操作:
列值的数据类型?(可怕的列名…)数据类型是varchar for value,不关心列名,它只是一个例子可能重复的否它是不同的,我在问如何计算2值,你给的链接在一个字段中只计算1值OMG,抱歉我错过了,我错了,我会编辑它等待。。我认为你的答案更好@Gordon Linoff,因为用你的代码,如果值是2828,它将计为4,nice@Ridho,您说过要对行id 1(822)使用计数2,因为它有8和2。你改变主意了吗?
select id, case when value like '%2%' then 1 else 0 end +
case when value like '%8%' then 1 else 0 end
from tablename
select (length(value) - length(replace(replace(value, '2', ''), '8', ''))) as num_occurrences
from t;