我有这个用旧版 SQL 编写的查询:
select
nth(1, a) first_a,
nth(1, b) first_b
from (
select *
from
(select 12 a, null b),
(select null a, 54 b)
)
结果,我期待一行具有值 (12, null),但我得到了 (12, 54)。在NTH 的文档中,它说:
NTH(n, 场)
返回函数范围内的第 n 个连续值,其中 n 是一个常数。NTH 函数从 1 开始计数,因此没有第零项。如果函数范围的值小于 n,则函数返回 NULL。
没有任何迹象表明空值会被忽略。这是 BigQuery 中的错误吗?