【发布时间】:2016-11-21 21:26:10
【问题描述】:
我不知道这是否可能,但这就是我正在寻找的东西
如果创建的最后一条记录超过 N 天,或者在之前创建的第一条记录的 created_at 日期之后的 N 天内创建的第一条记录的 created_at,我需要当前日期
因此,例如,如果存在 2 条记录的创建日期相差大于 N 天,并且在这两个日期之间没有创建其他记录,请给我这些记录中最近创建的 created_at,除非最近的 created_at的所有记录大于 N 天前,在这种情况下,请改用今天的日期
所以给定这张表和 N = 5
+----+-------------+
|id |created_at |
+----+-------------+
|9 |1 day ago |
|8 |2 days ago |
|7 |3 days ago |
|6 |4 days ago |
|5 |5 days ago | < not this date
|4 |6 days ago | < get this date
|3 |12 days ago | < not this date
|2 |13 days ago | < not this date
|1 |20 days ago |
+----+-------------+
我需要得到6 days ago,但不是13 days ago 或5 days ago,如果记录看起来像这样
+----+-------------+
|id |created_at |
+----+-------------+
|5 |11 day ago | < not this date, instead today's date
|4 |12 days ago |
|3 |20 days ago |
|2 |21 days ago |
|1 |30 days ago |
+----+-------------+
我需要今天的日期
【问题讨论】:
-
是
created_at日期还是字面意思是“11 天前”? -
这是一个日期,我只是觉得 X 天前的例子更容易阅读
-
如果日期是 1,2,5,6,7,15 天前你想要 15 天前,因为间隔必须超过 N 天?
标签: mysql