在Azure数据块中,我想从datetime列中获取每周的开始日期和周数



这是一个示例数据帧

Date    Items_Sold
12/29/2019  10
12/30/2019  20
12/31/2019  30
1/1/2020    40
1/2/2020    50
1/3/2020    60
1/4/2020    35
1/5/2020    56
1/6/2020    34
1/7/2020    564
1/8/2020    6
1/9/2020    45
1/10/2020   56
1/11/2020   45
1/12/2020   37
1/13/2020   36
1/14/2020   479
1/15/2020   47
1/16/2020   47
1/17/2020   578
1/18/2020   478
1/19/2020   3578
1/20/2020   67
1/21/2020   578
1/22/2020   478
1/23/2020   4567
1/24/2020   7889
1/25/2020   8999
1/26/2020   99
1/27/2020   66
1/28/2020   678
1/29/2020   889
1/30/2020   990
1/31/2020   58585
2/1/2020    585
2/2/2020    555
2/3/2020    56
2/4/2020    66
2/5/2020    66
2/6/2020    6634
2/7/2020    588
2/8/2020    2588
2/9/2020    255

我正在运行此查询

%sql
use my_items_table;
select weekofyear(Date), count(items_sold) as Sum
from my_items_table
where year(Date)=2020
group by weekofyear(Date)
order by weekofyear(Date)

我得到了这个输出。(IMP:我在Sum中添加了随机值(
周总和
1|300091
2|312756
3309363
4|307312
5|310985
6|296889
7|315611


但我想要的是,其中第1周的列应该包含每周的开始日期。像这样

Start_Date  Week    Sum
12/29/2019  1   300091
1/5/2020    2   312756
1/12/2020   3   309363
1/19/2020   4   307312
1/26/2020   5   310985
2/2/2020    6   296889
2/9/2020    7   315611

我正在Azure数据块上运行查询。

如果您有所有天的数据,那么只需使用min():

select min(date), weekofyear(Date), count(items_sold) as Sum
from my_items_table
where year(Date) = 2020
group by weekofyear(Date)
order by weekofyear(Date);

注:year()是从1月1日开始的日历年。您不会使用此查询获取其他年份的日期。如果这是一个问题,我建议你问一个新的问题,问如何获得一年中第一周的第一天。

相关内容

  • 没有找到相关文章

最新更新