0
我正在使用Netezza。在SQL中给连续小时的组赋予共同的价值
比方说,我有一张有两个字段的表格:一个字段是对应于一天中的每个小时的时间戳,另一个是在一小时内是否患有抗酸剂的指示符。该表如下所示:
Timestamp Antacid?
11/23/2016 08:00 1
11/23/2016 09:00 1
11/23/2016 10:00 1
11/23/2016 11:00 0
11/23/2016 12:00 0
11/23/2016 13:00 1
11/23/2016 14:00 1
11/23/2016 15:00 0
是否有指定一个共同的分区值给每个组连续小时间隔的方式吗?事情是这样的......
Timestamp Antacid? Group
11/23/2016 08:00 1 1
11/23/2016 09:00 1 1
11/23/2016 10:00 1 1
11/23/2016 11:00 0 NULL
11/23/2016 12:00 0 NULL
11/23/2016 13:00 1 2
11/23/2016 14:00 1 2
11/23/2016 15:00 0 NULL
我最终会想弄清楚的抗酸剂使用的所有连续的时间(所以第一组的开始和结束日期的开始日期和结束日期将是11月23日/ 2016 08:00和2016年11月23日10:00,第二组的开始/结束日期分别为2016年11月23日13:00和11/23/2016 14:00)。我之前用连续天使用extract(从日期开始的时代 - row_number())完成了这一点,但我不知道如何处理小时。
我试过了,但它将一些非连续的小时分组在一起。我会显示我的结果,但它包含机密数据。 – user3642531
我明白你的意思了..所以你只需要将他们分组,如果小时差是1 ..那是对的? –
是的。连续使用抗酸剂的小时数。其他一切都可以为空。 – user3642531