【发布时间】:2014-09-29 17:37:27
【问题描述】:
我在 SQL Server 2012 中有一个表,其中包含呼叫详细信息记录。 this SQLFiddle 中显示了架构的简化版本。
计算给定区域的调用次数很简单,但我想进一步将数据分解为离散的半小时存储桶。然后我将数据输入到图表中,因此我需要查询能够返回所有存储桶,即使我们在这些存储桶中没有调用。
有什么想法吗?
此外,我不能丢失这些值的偏移量(注意它们是DATETIMEOFFSET 类型)。我发现的大多数解决方案都涉及丢弃这些数据,因为它们只能处理 DATETIME。
【问题讨论】:
-
将外连接添加到包含区域和 1/2 小时存储桶的表(即使是同一个)。当不存在此类数据时,挑战将是弥补数据。类似于:stackoverflow.com/questions/22329722/… 日期或 stackoverflow.com/questions/2375111/… 小时。甚至stackoverflow.com/questions/10909015/…
-
这就是诀窍。我可以用各种方法来获取原始的半小时分桶数据。这里的挑战是为没有数据的桶获取零填充。
标签: sql-server tsql sql-server-2012 aggregate-functions window-functions