【发布时间】:2017-10-31 11:42:29
【问题描述】:
我有一个销售表,它包含不同商店的销售数据以及时间,假设在一天中,我们已经完成了 10,000 笔交易,那么我需要每 15 分钟找到该特定业务的总销售额日期,例如:如果在 12:00 PM 到 12:15 PM 之间没有销售,那么它应该是零值或 null。
一天有 24 小时,所以这意味着 15 分钟间隔有 96 列。
Sales Table:
SiteName Time Amount BusinessDate
----------------------------------------------------------
A 7:01:02 AM 20 2017-01-02
A 7:03:22 AM 25 2017-01-02
A 7:05:03 AM 33 2017-01-02
A 7:11:02 AM 55 2017-01-02
A 7:13:05 AM 46 2017-01-02
A 7:17:02 AM 21 2017-01-02
A 8:01:52 AM 18 2017-01-02
A 8:55:42 AM 7 2017-01-02
A 8:56:33 AM 7 2017-01-02
A 8:58:55 AM 31 2017-01-02
等等
我怎样才能做到这一点?!
【问题讨论】:
-
我会为此使用一个计数表。如果您需要更多详细信息,您需要将它们提供给我们。这是一个很好的起点。 spaghettidba.com/2015/04/24/…
-
您需要在 CTE 中预先或作为递归查询创建时间间隔表,然后加入它。
-
@PM77-1 如果您能给我提供一个高级语法来确定如何开始,我将不胜感激
-
您在表格中没有与时间关联的
date吗? -
@SeanLange 我提供了关于我的表格的示例数据
标签: sql sql-server tsql sql-server-2012