嵌套的 reaptable 记录中的 Bigquery,找到给定值出现次数最多的其他值

Bigquery within nested reaptable record, find other values that occur most with given value

考虑 personsDataSchemadocs

中给出的示例
                |- 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 的人最喜欢的其他城市是什么。有没有办法让我可以统计地点 X 的其他城市 WITHIN RECORD

根据文档, 似乎有可能获得记录中的值计数

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

所以想知道是否可以使用这个 WITHIN RECORD 来找到给定值出现次数最多的其他值?

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

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

SELECT TOP(citiesLived.place, 10), COUNT(*) FROM
Persons
OMIT RECORD IF EVERY(citiesLived.place != "Dublin")

请注意,此查询还将包括都柏林本身,但如果需要,很容易将其删除。