所以,我有两张桌子:
member_id item purchase_date
--------- ---- -------------
2326546 iron rod 2015-08-15
8410245 digital camera 2015-08-25
5820364 earphones 2015-08-30
8410245 monopad 2015-09-02
8410245 lens 2015-09-02
8410245 cleaning kit 2015-09-02
9451357 desk organizer 2015-09-13
9451357 storage box 2015-09-13
7635926 sticky pads 2015-10-05
1988162 pen holder 2015-10-05
member_id signup_date
--------- -----------
1988162 2015-08-01
8410245 2015-08-05
5820364 2015-08-05
2326546 2015-08-20
9451357 2015-08-22
7635926 2015-08-30
我获得了8月份注册用户的用户交易历史记录。
我想看到的是他们首次购买时的差异,以及他们注册的日期。
请帮忙。
答案 0 :(得分:3)
尝试此查询:
SELECT t.member_id, DATEDIFF(t.first_purchase_date, s.signup_date)
FROM
(
SELECT member_id, MIN(purchase_date) AS first_purchase_date
FROM purchase
GROUP BY member_id
) t INNER JOIN signup s ON t.member_id = s.member_id
您会注意到查询中的一条记录存在负差异。这是因为您的一位用户在实际注册日期之前首次购买。