【发布时间】:2014-10-20 14:51:28
【问题描述】:
我想了解我的客户在上次下单后 7 天内下单的频率。 我知道如何选择客户 ID 及其购买日期,但如何选择这些多个日期之间的差异? datediff 可能,但如何?
我正在寻找这样的结果:
customer_id, date1 | date2 | date3, diff date3-date2 | diff date2-date1
这就是我现在拥有的:
SELECT c.id,GROUP_CONCAT(DATE(co.date_order))
FROM customer c
JOIN customer_order co ON co.id_customer=c.id
GROUP BY c.id
【问题讨论】:
-
基本上,您需要使用查询变量来跟踪“先前”记录中的日期,例如
select @prev := min(order_date) from ...进行初始化,然后select datediff(order_date, @prev), @prev := order_date导出具有差异的字段。跨度>