小编ver*_*oss的帖子

带有 IGNORE NULLS 的 FIRST_VALUE() 中出现意外行为 (Vertica)

我在使用 IGNORE NULLS 参数的 Vertica FIRST_VALUE() 分析函数中看到意外行为。它似乎在不应该返回 NULL 的时候返回 NULL。

问题出现在这个非常小的表中:

drop table if exists temp;
create table temp (time_ timestamp(6), name varchar(10));
insert into temp (time_) values ('2016-03-18 20:32:16.144');
insert into temp (time_, name) values ('2016-03-18 20:52:09.062', 'abc');
Run Code Online (Sandbox Code Playgroud)

以下是表的内容(从 temp 中选择 *):

time_                   | name
------------------------+--------
2016-03-18 20:32:16.144 | <null>
2016-03-18 20:52:09.062 | abc
Run Code Online (Sandbox Code Playgroud)

这是我正在运行的查询:

select time_,
  first_value(name ignore nulls) over (order by time_) first_name
from temp;
Run Code Online (Sandbox Code Playgroud)

以下是该查询返回的结果:

time_                   | first_name
------------------------+------------
2016-03-18 20:32:16.144 | <null>
2016-03-18 20:52:09.062 | …
Run Code Online (Sandbox Code Playgroud)

sql vertica

3
推荐指数
2
解决办法
1万
查看次数

标签 统计

sql ×1

vertica ×1