gpt4 book ai didi

json - 如何在bigquery中使用group_concat生成json字符串?

转载 作者:行者123 更新时间:2023-12-02 20:33:39 25 4
gpt4 key购买 nike

我有一张 table :

user   device   minutes
==== ====== =======
ben phone 1.9
ben tablet 2.3
anna phone 1.6

我想将设备的使用情况打包成用户的 json 字符串,例如:

user   json
==== =====
ben {"phone":1.9, "tablet":2.3}
anna {"phone":1.6, "tablet":2.3}

如何在 bigquery 中执行此操作?

最佳答案

以下是 BigQuery 标准 SQL 版本

#standardSQL
WITH `yourproject.yourdataset.yourtable` AS (
SELECT 'ben' user, 'phone' device, 1.9 minutes UNION ALL
SELECT 'ben', 'tablet', 2.3 UNION ALL
SELECT 'anna', 'phone', 1.6
)
SELECT
user,
CONCAT('{', STRING_AGG(CONCAT('"',device, '":', CAST(minutes AS STRING))), '}') json,
ROUND(SUM(IF(device='tablet',minutes,0)),2) tablet_minutes
FROM `yourproject.yourdataset.yourtable`
GROUP BY user

输出如下

user    json                        tablet_minutes   
ben {"phone":1.9,"tablet":2.3} 2.3
anna {"phone":1.6} 0.0

关于json - 如何在bigquery中使用group_concat生成json字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47825581/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com