2017-10-06 6 views
0

ARRAY_AGGLIMIT句を置くと、配列内に多くの項目が表示されます。 docsは、これがうまくいくはずであることを示唆しています。BigQueryのARRAY_AGG内にLIMITがあります

何か間違っていますか?

SELECT 
    x, 
    ARRAY_AGG((
    SELECT 
     AS STRUCT y 
    LIMIT 
     1)) y 
FROM 
    `a`, 
    UNNEST(b) b 
WHERE 
    x = 'abc' 
GROUP BY 
    1 
LIMIT 1 

...私は1つだけのアイテムを期待しているであろう50のアイテムとSTRINGARRAYの一列で結果を生成します。

答えて

0

問題はLIMIT句の配置でした。 ARRAY_AGG関数ではなく、SELECTステートメントのスコープ内にありました。これを修正しました:

SELECT 
    x, 
    ARRAY_AGG((
    SELECT 
     AS STRUCT y 
    ) LIMIT 1) y 
FROM 
    `a`, 
    UNNEST(b) b 
WHERE 
    x = 'abc' 
GROUP BY 
    1 
LIMIT 1 
関連する問題