【发布时间】:2015-04-19 08:36:55
【问题描述】:
如何计算 MySQL 数据库中表的多个属性(在我目前的情况下,我有 5 个属性)中字符串的出现次数?我可以使用 MySQL 查询(y/ies)吗?
属性可能有 NULL 值,如果这在计数时意味着什么。
另外,我在客户端使用 PHP,如果 MySQL 不是找到此计数的更好方法,我可以使用它,但我想知道如何使用 MySQL 来完成。
我看到了这个post,它与我想要做的类似,但这个解决方案仅适用于对一个属性/列上的字符串进行计数。我需要计算我的所有属性/列中每个字符串的总出现次数(例如:5)。
【问题讨论】:
-
听起来您需要重新设计数据库。也许有一张专门用于
id, attribute的桌子。 -
Table_name(id, attr_1, attr_2, attr_3, attr_4, attr_5) 是我现在拥有的。
-
从你的问题看来,任何一个值都可能存在,那么为什么你将属性分成五列?
-
它们是用户可以从 HTML 表单中添加字符串的不同字段。总共有五个可能的字段。用户必须在至少一个字段 (attr_1) 中放置一个字符串(例如:带有下拉菜单)。其他四个 attr 字段可能为 NULL(或包含空字符串,尚未弄清楚这些细节)。
-
这只是一个不寻常的数据库结构。在我看来,这些列应该更具体。否则,仅使用一列作为属性和多行将有意义,这将使此查询更加简单。
标签: mysql