gpt4 book ai didi

mysql - 从订单表中检索过去 7 天的订单历史记录

转载 作者:行者123 更新时间:2023-11-29 09:42:12 24 4
gpt4 key购买 nike

给定订单表,其中包含Customer_Id、Order_Date、Quantity列。如何生成另一列,其中包含过去 7 天(不包括当前订单日期)的数量总和。

输入:

CUSTOMER_ID ORDER_DATE  QUANTITY
1 2019-05-01 1
1 2019-05-02 1
2 2019-05-02 1
2 2019-05-03 1
2 2019-05-04 1
1 2019-05-05 1
2 2019-05-05 1
1 2019-05-06 1
2 2019-05-06 1
1 2019-05-07 1
2 2019-05-07 1
1 2019-05-08 1
2 2019-05-08 1
1 2019-05-09 1
1 2019-05-10 1
1 2019-05-11 1
2 2019-05-11 1
2 2019-05-12 1
2 2019-05-13 1
2 2019-05-14 1
2 2019-05-15 1
1 2019-05-16 1

输出:

CUSTOMER_ID ORDER_DATE  QUANTITY    ORDER_HISTORY
1 2019-05-01 1 0
1 2019-05-02 1 1
2 2019-05-02 1 0
2 2019-05-03 1 1
2 2019-05-04 1 2
1 2019-05-05 1 2
2 2019-05-05 1 3
1 2019-05-06 1 3
2 2019-05-06 1 4
1 2019-05-07 1 4
2 2019-05-07 1 5
1 2019-05-08 1 4
2 2019-05-08 1 6
1 2019-05-09 1 4
1 2019-05-10 1 5
1 2019-05-11 1 6
2 2019-05-11 1 4
2 2019-05-12 1 4
2 2019-05-13 1 4
2 2019-05-14 1 4
2 2019-05-15 1 4
1 2019-05-16 1 2

到目前为止,我尝试使用 DATE_SUB(ORDER_DATE, INTERVAL 6 DAY) 但没有任何运气。

最佳答案

一个选项使用相关子查询来查找 7 天滚动总和:

SELECT
CUSTOMER_ID,
ORDER_DATE,
QUANTITY,
(SELECT SUM(t2.QUANTITY) FROM yourTable t2
WHERE t1.CUSTOMER_ID = t2.CUSTOMER_ID AND
t2.ORDER_DATE >= DATE_SUB(t1.ORDER_DATE, INTERVAL 7 DAY) AND
t2.ORDER_DATE < t1.ORDER_DATE) AS ORDER_HISTORY
FROM yourTable t1
ORDER BY ORDER_DATE;

关于mysql - 从订单表中检索过去 7 天的订单历史记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56403053/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com