在BigQuery中对逗号分隔的兴趣字符串字段进行分组计数
BigQuery拆分多值兴趣字段并分组计数方案
要实现将interests字段中的单个兴趣项分组统计,核心是先拆分多值字符串为单行记录,再分组计数,具体SQL如下:
SELECT TRIM(interest) AS interests, COUNT(*) AS count FROM `你的项目ID.你的数据集ID.你的表名`, UNNEST(SPLIT(interests, ',')) AS interest GROUP BY interests ORDER BY count DESC;
代码说明:
SPLIT(interests, ','):将每个用户的interests字符串按逗号分割成字符串数组UNNEST(...) AS interest:把数组展开为独立行,原本1条用户记录会拆分成多条,每条对应一个兴趣项TRIM(interest):去除兴趣项前后的空格,避免因空格导致重复计数(比如示例中的" soccer"和"soccer"会被统一为"soccer")GROUP BY interests:按处理后的兴趣项分组COUNT(*):统计每个兴趣项的出现次数ORDER BY count DESC:按计数从高到低排序,方便快速查看热门兴趣(该语句可选)
用你提供的示例数据运行后,会得到如下结果:
interests | count soccer | 3 culture | 2 travel | 1 studying | 1 tennis | 1 science | 1
内容的提问来源于stack exchange,提问作者hyvel
相关产品推荐
相关产品推荐

