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

如何在BigQuery的CASE WHEN语句中嵌套IFNULL函数?

如何在CASE WHEN语句中嵌套IFNULL函数,避免生成独立的field_1列

要实现将IFNULL嵌套进CASE WHEN语句,同时避免在结果表中生成独立的field_1列,可参考以下示例与代码:

示例说明

  • 输入示例:![输入示例图]
  • 输出示例:![输出示例图]

参考SQL代码

SELECT IFNULL(field_1, 'other'), COUNT(*),
       CASE WHEN field_1 = 'done'
            AND market IN ('usa', 'ca')
            AND date < TIMESTAMP('2015-01-01')
            THEN 'historical'
            ELSE field_1 END AS field_1
FROM `tablename` 
GROUP BY 1,3

逻辑说明

  1. 用IFNULL(field_1, 'other')直接处理field_1的空值,将空值替换为'other'作为第一个查询字段
  2. 通过CASE WHEN语句对符合条件的field_1值进行替换(标记为'historical'),并将计算结果命名为field_1
  3. 分组时指定按第1个和第3个字段分组,确保统计维度正确,同时不会生成多余的独立field_1列

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 02:45:36