如何在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
逻辑说明
- 用
IFNULL(field_1, 'other')直接处理field_1的空值,将空值替换为'other'作为第一个查询字段 - 通过CASE WHEN语句对符合条件的
field_1值进行替换(标记为'historical'),并将计算结果命名为field_1 - 分组时指定按第1个和第3个字段分组,确保统计维度正确,同时不会生成多余的独立
field_1列
内容的提问来源于stack exchange,提问作者rucola
相关产品推荐
相关产品推荐

