【发布时间】:2011-06-21 10:05:59
【问题描述】:
我正在使用 SQLite 3.7.4 并且有一个包含以下内容的表:
TABLE: 'Orders'
ID OrderDate
1234 2011-06-01 00:00:00
1245 2011-06-04 00:00:00
1234 2011-06-05 00:00:00
我希望能够选择“OrderDate”和“ID”,对于给定的 OrderDate,在过去 1 周内有上一个订单。
所以,对于上面的数据:
第一条记录 ID 1234 有顺序 在 2011-06-01 00:00:00,但没有 上一个 - 所以没有被选中。
下一条记录 ID 1245 有订单 在 2011-06-04 00:00:00 但没有 2011-06-04 前一周,所以不是 选择。
第 3 条记录 ID 1234 订单于 2011-06-05 00:00:00 有一个以前的 2011-06-01 订购,所以这个记录 被选中。
我刚刚设法使用strftime('%s',OrderDate) 了解日期差异,但无法通过获取 OrderDate 记录的yyyy-mm-dd 部分并回顾“-7 天”来了解如何查询查看该范围内是否有 1 条或多条记录?
任何指导表示赞赏:)
【问题讨论】:
-
只是一个快速的建议——从你的解释中我了解到
ID指的是客户、客户或其他实体,而不是订单。如果您的 Orders 表中有一个ID列,它应该是一个 Order Id。您可以使用 CustomerID 或其他任何东西来区分(并且可能应该同时包含两者)。