如何计算MySQL数据库中表的多个属性(在我目前的情况下,我有5个属性)中字符串的出现次数?我可以使用MySQL查询(y / ies)吗?
属性可能具有NULL值,如果这意味着计算时的任何内容。
另外,我在客户端使用PHP,如果MySQL不是找到这个计数的更好方法,我可以使用它,虽然我想知道如何用MySQL完成。
我看到了这个post,它与我想要做的类似,但此解决方案仅适用于计算一个属性/列上的字符串。我需要计算每个字符串的总出现次数(例如:5)我的属性/列。
答案 0 :(得分:0)
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 = @string