我有一个非常复杂的问题需要帮助。我有一张table Order_ID
, Date
以及 Day
.
我需要一周的时间 Week_No
. 这个领域有4个关键条件。
一周从星期六开始,每个月初重新开始。
结果的总长度应该是3个字符,因此应该始终有2个前导零,例如。 001
. Week_No
总是从 001
即使没有其他条目指向该条目的特定 Date
. Week_No
即使当月某一周没有订单,也始终递增1。
举一个条件3的例子。和4。,
如果6月份只有2个订单,一个在 2020-06-29
一个在上面 2020-06-11
, Week_No
将 002
以及 001
分别为前者和后者。
希望我下面的table足够清楚。
╔══════════╦════════════╦═════╦═════════╗
║ Order_ID ║ Date ║ Day ║ Week_No ║
╠══════════╬════════════╬═════╬═════════╣
║ 11 ║ 2020-06-25 ║ Thu ║ 002 ║
║ 10 ║ 2020-06-24 ║ Wed ║ 002 ║
║ 9 ║ 2020-06-20 ║ Sat ║ 002 ║
║ 8 ║ 2020-06-11 ║ Thu ║ 001 ║
║ 7 ║ 2020-05-31 ║ Sun ║ 006 ║
║ 6 ║ 2020-05-31 ║ Sun ║ 006 ║
║ 5 ║ 2020-05-29 ║ Fri ║ 005 ║
║ 4 ║ 2020-05-20 ║ Wed ║ 004 ║
║ 3 ║ 2020-05-14 ║ Thu ║ 003 ║
║ 2 ║ 2020-05-07 ║ Thu ║ 002 ║
║ 1 ║ 2020-05-01 ║ Fri ║ 001 ║
╚══════════╩════════════╩═════╩═════════╝
1条答案
按热度按时间jjhzyzn01#
嗯。你可以用铅和一个累积的总和来做这个。逻辑基本上是:
如果上一个日期在同一个月,中间有一个星期六,则加1
从1开始,开始一个月的第一天。
逻辑如下: