【发布时间】:2021-10-09 03:07:00
【问题描述】:
假设我们有一个存储客户数据的表。鉴于一周包含 7 天,我渴望能够分别在每个客户的 create_date 之后从 1 开始 周计数 第二天。之后,将 cust_purchase_date 存储在适当的 week_number 中。
每个客户的周数细分应该不同
cust_id create_date cust_purchase_date purchase_amount
111 7/5/2021 7/6/2021 85.00
111 7/5/2021 7/8/2021 25.00
111 7/5/2021 7/15/2021 35.00
111 7/5/2021 7/25/2021 15.00
222 7/9/2021 7/10/2021 10.00
222 7/9/2021 7/18/2021 25.00
222 7/9/2021 7/25/2021 31.00
222 7/9/2021 7/27/2021 41.00
333 7/11/2021 7/15/2021 51.00
333 7/11/2021 7/21/2021 65.00
444 7/15/2021 7/16/2021 100.00
444 7/15/2021 7/24/2021 78.00
444 7/15/2021 7/30/2021 87.00
555 8/20/2021 8/24/2021 71.00
555 8/20/2021 8/30/2021 55.00
555 8/20/2021 9/3/2021 36.00
555 8/20/2021 9/8/2021 25.00
日期表(模拟):
cust_id create_date Wk 1 Start Wk 1 End Wk 2 Start Wk 2 End Wk 3 Start Wk 3 End....
111 7/5/2021 7/6/2021 7/12/2021 7/13/2021 7/19/2021 7/20/2021 7/26/2021...
222 7/9/2021 7/10/2021 7/16/2021 7/17/2021 7/23/2021 7/24/2021 7/30/2021...
333 7/11/2021 7/12/2021 7/18/2021 7/19/2021 7/25/2021 7/26/2021 8/1/2021...
444 7/15/2021 7/16/2021 7/22/2021 7/23/2021 7/29/2021 7/30/2021 8/5/2021...
555 8/20/2021 8/21/2021 8/27/2021 8/28/2021 9/3/2021 9/4/2021 9/10/2021...
请求:
cust_id create_date cust_purchase_date purchase_amount week_number
111 7/5/2021 7/6/2021 85.00 1
111 7/5/2021 7/8/2021 25.00 1
111 7/5/2021 7/15/2021 35.00 2
111 7/5/2021 7/25/2021 15.00 3
222 7/9/2021 7/10/2021 10.00 1
222 7/9/2021 7/18/2021 25.00 2
222 7/9/2021 7/25/2021 31.00 3
222 7/9/2021 7/27/2021 41.00 3
333 7/11/2021 7/15/2021 51.00 1
333 7/11/2021 7/21/2021 65.00 2
444 7/15/2021 7/16/2021 100.00 1
444 7/15/2021 7/24/2021 78.00 2
444 7/15/2021 7/30/2021 87.00 3
555 8/20/2021 8/24/2021 71.00 1
555 8/20/2021 8/30/2021 55.00 2
555 8/20/2021 9/3/2021 36.00 3
555 8/20/2021 9/8/2021 25.00 3
【问题讨论】:
-
以天为单位的日期差异,整数除以七。
标签: sql postgresql