1

我使用 Google BigQuery 并且对它提供的 POSITION(field) 函数有疑问。

我认为 POSITION 函数返回嵌套字段中查询中值的位置。

但我很惊讶它也适用于非嵌套字段。

例如。

SELECT url, POSITION(url) FROM [publicdata:samples.github_timeline] WHERE url="https://github.com/oscardelben/sheet";

输出是

Row  url                                 f0_
1  https://github.com/oscardelben/sheet  1
2  https://github.com/oscardelben/sheet  2
3  https://github.com/oscardelben/sheet  3
4  https://github.com/oscardelben/sheet  4
5  https://github.com/oscardelben/sheet  5
6  https://github.com/oscardelben/sheet  6
7  https://github.com/oscardelben/sheet  1
8  https://github.com/oscardelben/sheet  2
9  https://github.com/oscardelben/sheet  3
....
...
..
.

在这种情况下,POSITION(url) 是什么意思?谷歌 BigQuery 样本还提供了我可以测试的任何嵌套字段吗?

我很感激哟

4

1 回答 1

0

据我所知,对于非嵌套字段, POSITION 将返回数据分片中的行偏移量——也就是说,如果基础数据被分成 100 块,并且你的结果每块有 10 行,你会有 1-10 的位置值重复 100 次。这不太可能特别有用。可以说,这应该返回全局位置(即在上述情况下它将返回 1-1000),如果您同意,请告诉我,我会看看是否可以更改。

于 2012-07-09T15:34:10.450 回答