如何根据 BigQuery 中的唯一值对元素进行计数

How to count elements based on a unique value in BigQuery

我在 Bigquery 中有这个 table 1,我需要计算列段和类别中与单个用户 ID 相对应的元素。 table 中显示的预期结果 2. 我一直无法弄清楚该怎么做...也许将这些元素转换为数组?

TABLE 1

TABLE 2

下面使用

select `desc`, count(distinct user_id) distinct_user_id
from (
  select category as `desc`, user_id from your_table 
  union all
  select segment, user_id from your_table, 
  unnest(split(segment, ';')) segment
)
where `desc` != ''
group by `desc`