google-bigquery - BigQuery:查询到 GroupBy 数组列
问题描述
我在 BigQuery 表中有 (2) 列:
1. url
2. tags
URL是单个值,TAGS是数组(示例如下):
行| 网址 | 标签1 | x.com | 驴
| 驴
| 生活
| 这里
如何在 BigQuery 中按 TAGS 数组进行分组?
使以下查询工作的诀窍是什么?
SELECT TAGS FROM `URL_TAGS_TABLE`
group by unnest(TAGS)
我已经尝试按TO_JSON_STRING分组,但它没有给我想要的结果
我想看到以下输出
x.com | 驴 | 数 2
x.com | 生活 | 计数 1
x.com | 这里 | 计数 1
解决方案
以下是 BigQuery 标准 SQL
#standardSQL
WITH `project.dataset.table` AS (
SELECT 'x.com' url, ['donkey','donkey','lives','here'] tags UNION ALL
SELECT 'y.com' url, ['abc','xyz','xyz','xyz'] tags
)
SELECT url, tag, COUNT(1) AS `count`
FROM `project.dataset.table`, UNNEST(tags) tag
GROUP BY url, tag
结果
Row url tag count
1 x.com donkey 2
2 x.com lives 1
3 x.com here 1
4 y.com abc 1
5 y.com xyz 3
推荐阅读
- c - 使用 GCC 时如何停止 CMD 将错误高亮显示为红色
- c# - 加入 2 名单
一个作为另一个的子列表 - reactjs - 为什么 react-router-dom 滚动到顶部不起作用?
- python - 嵌入在数组中的 PySpark Sum 字段
- javascript - 如何在提供的颜色列表中绘制每个 Amcharts4 径向条形图 series1
- interrupt - RiscV中的异常与中断?
- c# - 如果不存在,则更新项目或创建新项目 C#
- html - 粘性元素不在屏幕边缘开始
- c - 将字符串作为视觉对象添加到我的函数代码中
- amazon-web-services - 阻止 AWS VPC 的入站流量,但来自负载均衡器和选择地址的流量除外