【发布时间】:2010-11-11 18:21:25
【问题描述】:
对于我在 SQL 数据库中的用户日志记录表,我跟踪报告请求中的一些参数。该报告允许将多个 ID 传递给它,并且我将所有这些 ID 存储在数据库列的单个列中。如果这是一个规范化的数据集,肯定会有一个额外的表设置,但这是继承的......
现在有人要求我快速计算一个报告运行的次数,其中传递了超过 2 个 ID。我可以轻松获得请求超过 1 个报告的记录数,因为它们都包含逗号。
接下来我需要做的是计算逗号在列中出现的次数。你如何在 SQL 中做到这一点?
--count the number of times more than 1 report was requested in the record
select
count(*) as cnt
from
[table]
where
RequestedReportParams Like '%,%'
【问题讨论】: