所以,我有两个表:
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 月份注册用户的交易历史记录。
我想看到的是他们首次购买和注册日期之间的天数差异。
请帮忙。
最佳答案
试试这个查询:
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
您会注意到查询中的一条记录具有负差异。这是因为您的一位用户在实际注册日期之前进行了第一次购买。
关于mysql - 计算注册日期和首次购买日期之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33685913/