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

在Google BigQuery中如何筛选Name列唯一值对应的完整行?

解决BigQuery中筛选Name仅出现一次的完整行问题

没问题,我来帮你搞定这个BigQuery里的筛选需求!你需要保留所有列(不管实际有多少列),同时只选出那些Name值仅出现一次的完整行,这里有两种靠谱的方法:

方法一:使用窗口函数(推荐)

窗口函数可以在不分组的前提下,给每一行标记出对应Name的出现次数,然后直接筛选次数为1的行,写法简洁且适配任意列数:

SELECT *
FROM (
  SELECT 
    *,
    -- 计算每个Name的出现次数,标记到每一行
    COUNT(*) OVER (PARTITION BY Name) AS name_count
  FROM `your-project.your-dataset.your-table` -- 替换成你的表路径
)
WHERE name_count = 1

方法二:使用JOIN结合聚合查询

先通过聚合查询找出仅出现一次的Name,再和原表关联获取完整行:

SELECT t.*
FROM `your-project.your-dataset.your-table` t
JOIN (
  -- 先筛选出仅出现一次的Name
  SELECT Name
  FROM `your-project.your-dataset.your-table`
  GROUP BY Name
  HAVING COUNT(*) = 1
) unique_names ON t.Name = unique_names.Name

执行结果

两种方法都会返回你期望的结果:

idName
02Chad
04Tim

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 04:31:15