【发布时间】:2021-12-14 10:51:31
【问题描述】:
作为一个 SQL 新手确实在为此苦苦挣扎,所以我需要根据一天中的时间将 is_registered 列中的值放入每小时存储桶中。下面是一个小样本
| creation date | is_registered |
|---|---|
| 2021-10-28 00:03:12.240 | 1 |
| 2021-10-28 00:09:16.221 | 1 |
| 2021-10-28 00:12:23.234 | 1 |
| 2021-10-29 00:03:19.240 | 1 |
| 2021-10-29 00:48:12:190 | 1 |
| 2021-10-29 01:09:36:129 | 1 |
| 2021-10-29 01:29:29:120 | 1 |
我想要达到的结果(使用完整的数据集)如下(一天中每个小时的存储桶
| Date | Hour Bucket | Total in each bucket |
|---|---|---|
| 2021-10-28 | 00:00-01:00 | 289 |
| 2021-10-28 | 01:00-02:00 | 876 |
| -------- | -------------- | ------------- |
| 2021-10-29 | 00:00-01:00 | 190 |
| 2021-10-29 | 01:00-02:00 | 309 |
等等。
希望提供足够的信息,任何帮助将不胜感激,谢谢
【问题讨论】:
-
因此,如果一行在 1:00 被“注册”,它是否计入前 2 个输出行?将 1 小时视为从 0:0:0 到 1:0:0(61 分钟)是一个常见的错误。
-
对不起,应该更清楚,如果在 12:59 注册,它将下降到 12:00 所以 00:00-01:00 reg at 01:00:19 将是 01:00- 02:00
标签: sql sql-server datetime bucket