【发布时间】:2013-02-05 00:33:21
【问题描述】:
我有一个在注册时插入 Unix 时间戳的应用程序。我想做的是计算自上一个每月周年纪念日以来的月份的使用详细信息。所以我需要一个最近周年纪念日的 unix 时间戳。
例如,如果在 1 月 5 日提交注册,则客户的周年纪念日为 5 日。因此,要检查 2 月 15 日的使用情况,我需要从 2 月 5 日以来的日志中检索所有条目。
轻松获得注册日期:
SELECT DATE_FORMAT(FROM_UNIXTIME(created), '%d') FROM accounts
但是,我找不到基于注册日期的最后一个周年日期的 unix 时间戳。我该怎么做?澄清一下,我希望返回在最近的周年日期或之后创建的所有 action_id。
表格:
accounts
+------------+------------+
| account_id | created |
+------------+------------+
| 1 | 1321838910 |
+------------+------------+
....
logs
+------------+------------+------------+
| account_id | action_id | created |
+------------+------------+------------+
| 1 | 233 | 1348249244 |
+------------+------------+------------+
| 1 | 263 | 1348257653 |
+------------+------------+------------+
....
注意:为了简单起见,例如,如果周年纪念日是 31 日,我将放弃计算会发生什么 - 也就是说,除非有人有一个超级忍者声明将这些事件考虑在内。
【问题讨论】:
-
一个月中的任何一天 > 28 听起来很棘手,因为是二月。
-
是的,这就是我写那张纸条的原因。暂时忽略它。
标签: mysql unix-timestamp