已关闭。此问题需要details or clarity。当前不接受答案。
**想要改进此问题?**添加详细信息并通过editing this post阐明问题。
昨天关门了。
Improve this question
我将获取全天每小时的数据。如果在特定小时收到交易,则将接收数据,其中包含“小时和交易量”,如下表中的“输入数据”所示。如果在特定小时未收到交易,则不会接收特定小时的数据。在一天结束时,我需要应用group by来了解3个小时的序列中收到的总交易金额。如果时间不在序列中,则可以忽略。
有谁能帮我用上面说的数据来申请group by?
2条答案
按热度按时间mwecs4sa1#
您可以对小时使用case表达式,然后按它分组:
iqih9akk2#
在真实的的应用程序中,对函数的结果进行过滤或分组是一个坏主意,因为它不能利用任何索引。一个快速而灵活的方法是创建一个具有所需小时范围的实用程序表,确保开始列和结束列都被索引,例如:
使用
Shifts
表,可以按Shift_Name
列对目标表进行过滤和分组:条件
Shift_Start>= t.Hour and t.Hour <= Shift_End
适用于换档限制不重叠的情况。但如果一个换档紧接着另一个换档开始,例如07-09
和'09-11'
,则条件应更改为