【问题标题】:There used to be a Q here这里曾经有一个Q
【发布时间】:2017-08-19 00:50:16
【问题描述】:

如标题中所述,此问题已被删除。

【问题讨论】:

    标签: mysql date between days


    【解决方案1】:

    这将为您提供每个 user_id 的前 7 天记录

    SELECT orders.* FROM orders
    INNER JOIN (
        select user_id, min(created_on) as mindt from orders group by user_id
    ) t
    ON orders.user_id = t.user_id AND orders.created_on <= DATE_ADD(t.mindt, INTERVAL 7 DAY)
    ORDER BY user_id, created_on
    

    对于每个用户的平均支付金额,在前 7 天,使用这个:

    SELECT orders.user_id, avg(paid_amount) FROM orders
    INNER JOIN (
        select user_id, min(created_on) as mindt from orders group by user_id
    ) t
    ON orders.user_id = t.user_id AND orders.created_on <= DATE_ADD(t.mindt, INTERVAL 7 DAY)
    group by orders.user_id
    

    【讨论】:

    • 非常感谢。这正是我一直在寻找的。非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多