【发布时间】:2020-12-06 13:22:51
【问题描述】:
我有一个像这样的数据集:
Date - Time Dimension1 Dimension2 Count
10-1-2020 00:18:15 A B 2
10-1-2020 01:18:00 A B 3
10-1-2020 01:45:00 A B 2
10-1-2020 01:48:00 A B 1
10-1-2020 03:02:00 B A 5
我们在 Dataset 中看到的 DateTime 列有 2 个维度,最终显示的是相对于 Date Time + 1Hour 的值的计数。
Record 1 : Given Date : 01/10/2020 12:18:15 AM Date + 1Hour : 01/10/2020 01:18:15 AM
因此,在这两个日期之间,我需要找出匹配记录的数量。对于此日期范围,有 2 条记录在 1 小时内,因此计数为 2。
代码:
SELECT
D5,
CAL_DATE,
Transaction_DATETIME,
D1,
D2,
D3,
D4,
COUNT(D4) AS CNT
FROM TAB1
WHERE
timestamp(Transaction_DATETIME, 'MM-D-YYYY HH:mm:ss TT') >= timestamp(Transaction_DATETIME, 'MM-D-YYYY HH:mm:ss TT')
AND timestamp(Transaction_DATETIME, 'MM-D-YYYY HH:mm:ss TT') <= Timestamp(Transaction_DATETIME + Time#('01:00:00','HH:mm:ss'),'MM-D-YYYY HH:mm:ss TT')
GROUP By
D5,
DATE,
Transaction_DATETIME,
D1,
D2,
D3,
D4;
请求您的帮助。
谢谢。
【问题讨论】:
-
用您正在使用的数据库标记您的问题。您的代码不是很有效的 SQL。而且你的问题很不清楚。你想计算什么?
-
我正在计算在时间戳和时间戳 + 1 小时之间发生的事务计数,并且应该为所有时间戳计算该场景。