想象一个用户在随机日期发布内容的基本网站。系统使用 mysql-php 并将每个帖子存储在一个名为 tablePost 的表中,其中有一列存储日期(或时间)。请注意,用户可以在一天内发布多个帖子。我想要实现的是能够获取用户发布的最后 4 天(甚至更多天)的日期。还要获取发布信息(postid、posttext 等)。示例输出为:
- 2012-04-25(3 个帖子,postinfo...)
- 2012-04-12(2 个帖子,postinfo...)
- 2011-09-12(33 个帖子,postinfo...)
- 2011-03-04(10 个帖子,发布信息...)
我可以想象两种解决方案:
1) 仅使用 tablePost 表,通过 php 遍历条目并获取所需数据
2)创建另一个表,调用tableActiveDays。当用户发布时,可能使用 INSERT IGNORE 插入条目(userId,dateDay)或检查之前是否未插入。因此,每个 (userId, dateDay) 都是唯一的。这样,如果我想获取最后 4 个活动天数,我可以使用简单的 select ... order by ... limit by 4 查询。
我的问题是:
- 任何其他方式来完成这项任务?
- 实现这一目标的最有效方法是什么?