我有一个表格,数据如下所示
ID Timestamp Value
1 2/2/2015 12:05 1
2 2/2/2015 12:05 2
3 2/2/2015 12:05 2
1 2/2/2015 12:10 1
2 2/2/2015 12:10 2
3 2/2/2015 12:10 2
1 2/2/2015 12:15 null
2 2/2/2015 12:15 3
3 2/2/2015 12:15 2
1 2/2/2015 12:20 null
2 2/2/2015 12:20 1
3 2/2/2015 12:20 3
1 2/2/2015 12:25 null
2 2/2/2015 12:25 10
3 2/2/2015 12:25 9
1 2/2/2015 12:30 1
2 2/2/2015 12:30 2
3 2/2/2015 12:30 1
1 2/2/2015 12:35 null
2 2/2/2015 12:35 2
3 2/2/2015 12:35 1
1 2/2/2015 12:40 null
2 2/2/2015 12:40 2
3 2/2/2015 12:40 2
我希望在null的基础上对值进行分组,并过滤出null在连续时间块中出现的最小和最大时间。以下是所需的输出。我尝试过使用partition by子句但没有得到想要的结果
1 2/2/2015 12:15 2/2/2015 12:25 null
1 2/2/2015 12:35 2/2/2015 12:40 null
答案 0 :(得分:0)
你可以试试这个;
这需要一分钟
SELECT
EXTRACT(MINUTE FROM TO_TIMESTAMP('03/12/14 11:15:00','DD/MM/YY HH24:MI:SS'))
FROM DUAL
可能你的剧本会是;
SELECT id,
min(EXTRACT(MINUTE FROM TO_TIMESTAMP(your_timestamp_cloumn))),
value
from table_name
where value is null
group by id,value
UNION
SELECT id,
max(EXTRACT(MINUTE FROM TO_TIMESTAMP(your_timestamp_cloumn))),
value
from table_name
where value is null
group by id,value
编辑:
如果您的'时间戳' coulmn的格式是您可以尝试此脚本的时间戳;
SELECT id,
min(to_char(your_timestamp_cloumn,'MI')),
value
from onur_deneme
where value is null
group by id,value
UNION
SELECT id,
max(to_char(your_timestamp_cloumn,'MI')),
value
from onur_deneme
where value is null
group by id,value