嵌套的reaptable记录中的Bigquery,找到具有给定值

时间:2015-10-03 09:41:18

标签: google-bigquery

考虑docs

中给出的示例personsDataSchema
                |- fullName: string (required)
                |- age: integer
                |- gender: string
                +- phoneNumber: record
                |  |- areaCode: integer
                |  |- number: integer
                +- children: record (repeated)
                |  |- name: string
                |  |- gender: string
                |  |- age: integer
                +- citiesLived: record (repeated)
                |  |- place: string
                |  +- yearsLived: integer (repeated)

这里CitiesLived是一个可重复的记录。所以一个人可以住在多个城市。 现在, 我想找出生活在CitiesLives.place X的人最受欢迎的城市。我是否可以通过这种方式计算其他城市WITHIN RECORD X的位置?

按照文档, 似乎可以在记录中获得值的计数

SELECT fullName, COUNT(children.name) WITHIN RECORD AS numberOfChildren FROM [dataset.tableId];

所以想知道是否可以使用此WITHIN RECORD来查找给定值最多的其他值?

希望这是有道理的。如果没有,请告诉我。我将添加缺少的细节。

1 个答案:

答案 0 :(得分:1)

使用评论中的示例,下面的查询将显示居住在都柏林的人中最受欢迎的10个城市

{{1}}

请注意,此查询还将包含Dublin本身,但如果需要,可以轻松删除它。