我有一个表,模式如下
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