sql如何按周一、周二。。。周日 分组查询

sql如何按周一、周二。。。周日 分组查询,第1张

select sum(cost),w1 from

(select cost,datepart(w,date1) as w1 from tb1 where datediff(day,'2015-6-1',date1)>=0

and datediff(day,date1,'2015-6-30')>=0) as a1

group by w1

可以先把日期剥离出来,这样方便后继处理,如:select to_char(sysdate,'dd') from dual;

这样后继就可以很方便处理了,用decode也好,用case when 也行。

如:

select decode(to_char(sysdate,'dd') ,1,'第一周',2,'第一周',3,'第一周',4,'第一周',5,'第一周',6,'第一周',7,'第一周',8,'第二周',9,'第二周') from dual;

后面就不写了,太长了,意思就这个意思,用case when判断会短点。

要实现这个功能,您需要先将总表和分表连接起来。连接方法可以使用Excel中的VLOOKUP函数或者是Power Query等工具。连接完成之后,您就可以根据总表中的日期在分表中查找对应的数据了。如果您对Excel的函数和工具不熟悉,可以参考以下步骤:

1 在总表中添加一个列用于输入日期。

2 在分表中找到包含数据的列,并且确保该列与总表中的数据列匹配。

3 选中总表中的第一个数据行,在新增的日期列中输入第一条数据对应的日期。

4 在下一行中复制日期列和上一行的内容,继续输入其他数据对应的日期。

5 完成日期列的输入后,您可以使用VLOOKUP函数或者Power Query等工具在分表中查找对应的数据。假设您使用VLOOKUP函数,可以在总表中添加一个列,然后使用如下公式:=VLOOKUP(A2,分表数据区域,数据列索引,FALSE)。其中A2是包含日期的单元格,分表数据区域是分表中包含数据的区域,数据列索引是分表数据区域中包含数据的列的索引号(从1开始),FALSE表示精确匹配。

6 拖动公式以填充整个数据列,就可以在总表中显示分表中对应日期的数据了。

以上就是关于sql如何按周一、周二。。。周日 分组查询全部的内容,包括:sql如何按周一、周二。。。周日 分组查询、sql server如何把一个月分成四个周、输入总表日期,显示分表中的数据怎么办等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9627066.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存