我有一个嵌套的重复结构,重复的结构是可变长度的。例如,它可能是一个具有重复结构的人物对象,其中包含该人居住的城市。我想找到该列表中的最后一个项目,以便找到当前城市居住者。是否有一种简单的方法为了做到这一点,我试着查看jsonpath功能,但我不确定如何在"内使用#34;。有什么帮助吗?
答案 0 :(得分:7)
SELECT
FIRST(cell.value) within record ,
LAST(cell.value) within record
FROM [publicdata:samples.trigrams]
where ngram = "! ! That"
2)或者如果你想要更高级的东西,你可以使用POSITION
POSITION(field)
- 返回一组重复字段中基于一个字段的顺序位置。
您可以检查三元组中的样本(单击“详细信息”以查看未平缓的模式) https://bigquery.cloud.google.com/table/publicdata:samples.trigrams?pli=1
当您运行POSITION时,您将获得该字段的顺序。
SELECT
ngram,
cell.value,
position(cell.volume_count) as pos,
FROM [publicdata:samples.trigrams]
where ngram = "! ! That"
现在您已拥有该职位,您可以查询最后一个职位。