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

如何动态统计->分隔字段中各值出现次数并获取Top N结果

解决方案

要实现动态统计所有值的出现次数并获取Top3结果,可以通过拆分字符串+展开数组+分组统计+排序取前的方式实现,以下是适配你场景的SQL语句(以BigQuery为例):

基础统计语句(获取各值次数)

SELECT
  word,
  COUNT(*) AS 出现次数
FROM
  `你的表名`,
  UNNEST(SPLIT(text, ' -> ')) AS word
GROUP BY
  word
ORDER BY
  出现次数 DESC

生成预期格式的Top3结果

如果需要直接输出你示例中的Top N- 值|次数格式,可以结合窗口函数生成序号:

SELECT
  CONCAT('Top ', ROW_NUMBER() OVER(ORDER BY 出现次数 DESC), '- ', word, ' |', 出现次数) AS 结果
FROM (
  -- 内层先统计各值的总出现次数
  SELECT
    word,
    COUNT(*) AS 出现次数
  FROM
    `你的表名`,
    UNNEST(SPLIT(text, ' -> ')) AS word
  GROUP BY
    word
  ORDER BY
    出现次数 DESC
  LIMIT 3 -- 只保留前3条
)

语句说明

  1. SPLIT(text, ' -> '):将每行的字符串按->分隔符拆分成数组;
  2. UNNEST(...) AS word:把数组展开为单独的行,每个拆分出的值占一行;
  3. GROUP BY word + COUNT(*):按值分组,统计每个值的总出现次数;
  4. ORDER BY 出现次数 DESC + LIMIT 3:按次数降序排序,取出现次数最多的前3个值;
  5. ROW_NUMBER() + CONCAT:生成Top序号并拼接成你需要的输出格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 02:55:22