You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Google BigQuery中统计数组中的重复值?

在Google BigQuery中统计数组内元素的重复次数

嘿,这问题很常见,咱们用BigQuery的UNNEST配合分组统计就能轻松搞定。直接给你能用的解决方案,再拆解下逻辑:

完整可用SQL代码

WITH temp AS (
  SELECT 1 id, ["a","b", "a"] name
)
SELECT 
  id,
  unnested_name AS name,
  COUNT(*) AS count
FROM temp,
UNNEST(name) AS unnested_name
GROUP BY id, unnested_name
ORDER BY id, count DESC;

执行结果

运行后会得到你期望的输出:

idnamecount
1a2
1b1

逻辑拆解

  • UNNEST(name) AS unnested_name:把数组name里的每个元素拆成单独的行,原本的1行数据会变成3行(对应"a","b","a"三个元素)
  • GROUP BY id, unnested_name:按id和展开后的元素分组,确保每个id下的每个元素单独统计次数
  • COUNT(*) AS count:统计每个分组内的行数,也就是对应元素在原数组里的出现次数
  • 最后的ORDER BY是为了让结果更直观,按次数降序排列

如果你的真实数据包含多个id,这个方法同样适用,会自动按每个id分组统计各自数组内的元素重复次数~

内容的提问来源于stack exchange,提问作者L-square

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 23:39:09