【发布时间】:2014-11-01 03:43:59
【问题描述】:
第 1 部分
假设我有一个 orders 表,每个订单都有一个或多个分期付款。
分期付款
id | order_id | customer_id | timestamp
-------------------------------------------------------
1 | 1 | 5 | 2014-10-31 00:00:00
2 | 1 | 5 | NULL
3 | 1 | 5 | 2014-10-31 00:00:00
4 | 2 | 8 | 2014-10-31 00:00:00
5 | 2 | 8 | 2014-10-31 00:00:00
6 | 2 | 8 | 2014-10-31 00:00:00
7 | 3 | 5 | 2014-10-31 00:00:00
我想检索所有分期付款都有时间戳的所有订单,其中最大的时间戳在过去 X 天内。
在上表中,我应该检索订单 ID 2 和 3,而不是 1,因为其中一个分期付款的时间戳为 NULL。
我能做到这一点的最有效方法是什么?我真的不知道从哪里开始,但我想我需要某种子查询来稍后处理数据。
第 2 部分
最终,我在这里要做的是计算每个客户有多少订单通过了第 1 部分的测试(只有所有分期付款都有时间戳的订单),然后我会将其与另一个值进行比较。
因此,一旦我有一个包含所有订单的结果集,其中所有分期付款都有时间戳,我如何将它们分组以包括每个符合条件的客户的计数?
【问题讨论】: