查询大查询重复模式

时间:2019-04-17 10:03:11

标签: sql google-bigquery

我正在将值数组存储在bigquery表中。

Table Name : Embedding
Table Schema :

    {
        {
            field_name:"description",
            type:"string",
            mode:"nullable"
        },
        {
            field_name:"embedding",
            type:"float",
            mode:"repeated"       
        }
    }

我可以完美地插入数据。在bigquery的webUI中,预览数据也可以正确显示。但是当我查询数据时,得到以下输出

SQL查询-select * from dataset.Embedding;

输出-

[["0.3","hello new york"],["0.5","hello new york"],["0.1","hello new york"],["0.9","hello new york"],["0.3","hello new york"],["0.2","hello new york"],......,["0.8","hello new york"]]

这些值与描述一起重复,而不是像["0.3","0.5","0.1","0.9","0.3",...,"0.8"]这样的值数组。

我也尝试了unnest功能。但是没有运气。 如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

如果我理解正确,那么我认为array_agg可能会对您有所帮助。

类似的东西:

SELECT description, ARRAY_AGG(embedding) AS embedding
FROM dataset.Embedding
GROUP BY 1

如果description不是唯一的,那么您可能想添加一个主键样式列。

答案 1 :(得分:0)

尝试

SELECT em FROM dataset.Embedding AS E cross join E.embedding AS em

此交叉将数组的内容与表连接在一起,因此您可以实际查询它,就像它们是表中的标量值一样。