【发布时间】:2014-05-07 20:44:31
【问题描述】:
我需要一种查询数据集合的方法。我有一个最近活动日期的列表,每个日期都存储在每个用户的 1 行中。每行都有一个 loginDates 字段,由逗号分隔的时间戳列表组成。
我需要做的是在这个日期运行报告以查找自 XXXXXX 时间戳以来活跃的人。问题在于它是逗号分隔的,这意味着我无法使用我知道的方法查询它。
这是一个示例行
id userID accessDates
2 6 1399494405,1399494465,1399494525,1399494585,1399494623
我想用纯文本实现什么
SELECT all_fields FROM accessTable WHERE accessDate > YESTERDAY
然而,这些日期可能跨越数百天,现场有数百个时间戳。
【问题讨论】:
-
学习正确的数据库设计是多么重要的原因,您不会将日期/时间值存储为字符串,也不会将事物列表放在逗号分隔的列中。这就是关系数据库有表的原因。使用它们。并且,了解联结表(也称为关联表)。
-
与其试图拼凑解决方案,不如修复数据模型。如果这些是日期,则应将它们保存为日期。每条记录都应该有自己的行。那时您会发现实际处理数据要容易得多。
-
改变结构不是一种选择。我正在尝试根据现有数据设计报告。因此我的问题。