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

如何在BigQuery中拆分字符串生成重复行并统计平台游戏数量

解决方案:拆分多平台列并统计各平台游戏数量

针对你遇到的问题,核心是要把包含多个平台的字段拆分成单独行,再对每个平台的游戏数求和。结合你使用的BigQuery语法,正确的查询语句如下:

SELECT
  TRIM(platform_item) AS Platform,
  SUM(Number_of_Games) AS Number_of_Games
FROM
  `VideoGames`,
  UNNEST(SPLIT(Platform, "/")) AS platform_item
GROUP BY
  Platform
ORDER BY
  Number_of_Games DESC

语句说明:

  • SPLIT(Platform, "/"):把原表中用"/"分隔的平台字符串拆分成数组,比如"PS3/Xbox 360"会变成["PS3", "Xbox 360"]
  • UNNEST(...) AS platform_item:把数组展开成独立的行,每个平台对应一行,原行的Number_of_Games会跟着每个拆分出的平台行保留
  • TRIM(platform_item):去除平台名称前后的空格,避免像" Nintendo Switch"(带前置空格)和"Nintendo Switch"被识别为两个不同平台
  • SUM(Number_of_Games):对每个平台的游戏数求和,比如原表中Wii U/ Nintendo Switch的3个游戏,会分别加到Wii U和Nintendo Switch的统计结果里

为什么之前的尝试没成功:

  • 用SPLIT(...)[offset(0)]只会取拆分后的第一个平台,无法获取后续的平台值
  • 手动创建平台临时表再关联的方式逻辑错误,应该先拆分原表的多平台字段,再进行统计,而不是尝试匹配整串平台名称

执行上述语句后,就能得到你期望的统计结果:

PlatformNumber_of_Games
Nintendo Switch7
Xbox 3602
Wii U3
PS31
PS41
Windows1

内容的提问来源于stack exchange,提问作者mlooch97

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 17:52:55