【问题标题】:How do I use Datediff between multiple dates in MySQL?如何在 MySQL 中的多个日期之间使用 Datediff?
【发布时间】: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 导出具有差异的字段。跨度>

标签: mysql sql date datediff


【解决方案1】:

DateDiff 函数的语法如下:

DATEDIFF(dateFormat,startdate,enddate)

根据您的要求,其中 dateFormat 是日、月或年。 修改您的查询并在函数内传递您的值,您就可以获得结果。希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-12
    • 2021-09-19
    • 1970-01-01
    • 1970-01-01
    • 2020-09-15
    • 1970-01-01
    相关资源
    最近更新 更多