如何计算一个字符串在MySQL数据库中一个表的多个属性(在我的例子中,有5个属性)中出现的次数?是否可以使用MySQL quer(y/ies)执行此操作?
这些属性可以有空值,如果在计数时有任何意义的话。
此外,我在客户端使用PHP,虽然我想知道如何使用MySQL,但如果MySQL不是查找此计数的更好方法,我可以使用PHP。
我看到了这个post,它类似于我想要做的事情,但是这个解决方案只适用于计算一个属性/列上的字符串。我需要统计每个字符串在我的所有(例如: 5)属性/列中出现的总次数。
发布于 2015-04-19 08:25:05
declare @string nvarchar(255) = "string" --String to search for
select COUNT(t1.attr_1) + COUNT(t2.attr_2) + COUNT(t3.attr_3) + COUNT(t4.attr_4) + COUNT(t5.attr_5)
from Table_name t
join Table_name t1 on t1.id = t.id
join Table_name t2 on t2.id = t.id
join Table_name t3 on t3.id = t.id
join Table_name t4 on t4.id = t.id
join Table_name t5 on t5.id = t.id
where t1.attr_1 = @string
and t2.attr_2 = @string
and t2.attr_3 = @string
and t2.attr_4 = @string
and t2.attr_5 = @stringhttps://stackoverflow.com/questions/29724264
复制相似问题