我试着把几个星期分成几个季度。季度定义如下:
1 Jan - 31MAR
1 APR - 30JUN
1 JUL - 30SEP
1 OCT - 31DEC
我试过用weekofyear来分组哪个有效,但是我不知道如何从weekofyear int值中得到一周的开始和结束。
下面是一个样本日期列表。如果一个星期和一个季度重叠,我想缩短时间。e、 g本季度最后一周可能是6月28日至30日。
这是我想要达到的形式。周必须从季度开始:
1-7 Jan
8-14 Jan
15-21 Jan
22-28 Jan
29-4 FEB
5-11 FEB
12-18 FEB
19-25 FEB
26-3 MAR
4-10 MAR
11-17 MAR
18-24 MAR
25-31 MAR
我试图将一个日期列表与账单金额分组如下:
Invoice Issued Date cost
2020-01-01 00:00:00.000 18259.00
2020-01-08 00:00:00.000 35374.00
2020-01-15 00:00:00.000 19793.00
2020-01-22 00:00:00.000 91014.00
2020-02-02 00:00:00.000 23252.00
2020-02-09 00:00:00.000 34628.00
2020-02-16 00:00:00.000 48214.00
2020-02-23 00:00:00.000 9146.00
2020-03-03 00:00:00.000 20234.00
如果这在SQLServer中更容易实现的话,我也愿意这样做。
1条答案
按热度按时间4zcjmb1e1#
您可以完全在sql中这样做,如下所示。
我冒昧地用月份数除以4来定义季度。
显然,如果这不适合你,那么你可以用你需要的任何逻辑来代替它。
sql小提琴:http://sqlfiddle.com/#!18/73778/3