Google bigquery 为什么第n个值在行的BigQuery显示中起作用>;=N
下面的代码生成结果,其中第1、2和3行的变量nt4为null。这看起来很奇怪。这是虫子吗?窗口函数中所有行的值都应为“of”Google bigquery 为什么第n个值在行的BigQuery显示中起作用>;=N,google-bigquery,Google Bigquery,下面的代码生成结果,其中第1、2和3行的变量nt4为null。这看起来很奇怪。这是虫子吗?窗口函数中所有行的值都应为“of” SELECT word, word_count, corpus, NTH_VALUE(word,4) OVER (PARTITION BY corpus ORDER BY word_count DESC) nt4, rank(word) over (PARTITION BY corpus ORDER BY word_count DESC) rank
SELECT
word,
word_count, corpus,
NTH_VALUE(word,4) OVER (PARTITION BY corpus ORDER BY word_count DESC) nt4,
rank(word) over (PARTITION BY corpus ORDER BY word_count DESC) rank
FROM
[publicdata:samples.shakespeare]
这不是一个bug。果然如此 原因是-如果使用ORDER BY而不指定行或范围,ORDER BY意味着窗口从分区的开头延伸到当前行。有关详细信息,请参阅 同时,快速解释: 例如,对于“
kingheryviii
”分区第一行窗口中只有一行字-“
The
”第二行在窗口中有两行-“
the
”和“I
”第三个-“
the
”、“I
”和“和
”
就您所见,这里没有第四行,因此该值为空
第四行是窗口中的四行-“的
”、“I
”、“和
”和“的
”
对于第五个-“的
”、“I
”、“和
”、“的
”和“到
”
如您所见,从forth rows开始-forth值可用,它是“of
”
希望这是清楚的,并且对您有所帮助,但是
LEAD
不会“返回空值”。对于不同的函数,窗口的语义是否不同?