2014-10-20 50 views
0

我想知道我的客户在最后一次订单后7天内下单的频率。 我知道如何选择客户ID,以及他们购买的日期,但是如何选择这些多个日期之间的差异?可能,但如何?如何在MySQL中的多个日期之间使用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 
+0

可能的重复http://stackoverflow.com/questions/2490173/how-to-get-the-number-of-days-of-difference-between-two-dates-on-mysql – Haris 2014-10-20 14:52:57

+0

基本上你需要使用查询变量来跟踪“previous”记录的日期,例如'select @prev:= min(order_date)from ...'以初始化,然后'选择datediff(order_date,@prev),@prev: = order_date'来派生具有差异的字段。 – 2014-10-20 14:54:43

回答

0

下面是DateDiff函数的语法:

DATEDIFF(dateFormat,startdate,enddate) 

在哪里根据您的要求,dateFormat可以是日,月或年。 修改您的查询并在函数内传递您的值,您可以实现您的结果。希望这可以帮助。

相关问题