每个ARRAY元素的BigQuery COUNT列



我有一个表,模式如下

id: STRING, NULLABLE
values: STRING, REPEATED
Row sample
----------------------------
| id    | values           |
----------------------------
| 123abc| [val1,val2,val3] |
----------------------------

我想计算每个值的id数

Output sample
----------------------------
| value    | id_count      |
----------------------------
| val1     | 1             |
----------------------------
| val2     | 1             |
----------------------------
| val3     | 1             |
----------------------------

我已经创建了以下查询,它的工作很好,但我正在寻找一个更好的方式来做它

SELECT value, COUNT(id) AS id_count
FROM(
SELECT id, value
FROM `myproject.mytable`, UNNEST(values) AS value
)
GROUP BY value

我试图减少工人之间的数据量,所以我寻找一种方法来绕过UNNEST函数。

考虑下面

select value, count(distinct id) id_count
from `myproject.mytable`, unnest(values) AS value
group by value

相关内容

  • 没有找到相关文章

最新更新