我是 BigQuery 和 SQL 的新手。我有一张包含以下详细信息的表格
ID : String : Nullable
BCats : String : Repeated
Run Code Online (Sandbox Code Playgroud)
ID可以重复
ID BCats
|-----------------------|
| ABCD | BCat25 |
| | BCat24 |
| | BCat23 |
|_______________________|
| PQRS | BCat8 |
| | BCat9 |
|_______________________|
| ABCD | BCat23 |
| | BCat25 |
| | BCat24 |
|_______________________|
| MNOP | BCat12 |
| | BCat13 |
|_______________________|
| PQRS | BCat8 |
| | BCat9 |
|-----------------------|
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用以下查询根据 ID 对表进行分组
SELECT BCats,ID
FROM (SELECT (GROUP_CONCAT(BCats)) as BCats,ID
FROM(
SELECT
UNIQUE(BCats) as BCats,ID FROM
my_table
GROUP BY
ID
)
GROUP BY
ID
)
Run Code Online (Sandbox Code Playgroud)
JSON 格式的查询输出为
{"BCats":"BCat25,BCat24,BCat23","ID":"ABCD"}
{"BCats":"BCat8,BCat9","ID":"PQRS"}
{"BCats":"BCat12,BCat13","ID":"MNOP"}
Run Code Online (Sandbox Code Playgroud)
我的问题是如何从 Query 输出 Array,如下所示
{"BCats" : ["BCat25","BCat24","BCat23"],"ID":"ABCD"}
Run Code Online (Sandbox Code Playgroud)
目前我正在将 BCats 作为字符串获取。
我需要将此数据输出到新表中,并将 BCats 作为重复。
请帮忙。
预览 :
尝试下面。注意:在Web UI中,您不仅需要设置Destination Table,还需要设置/选中Allow Large Results复选框和取消选中Flatten Results复选框
SELECT NEST(UNIQUE(BCats)) AS BCats, ID
FROM my_table
GROUP BY ID
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4768 次 |
| 最近记录: |