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

如何在含NULL值的两列中优先求和time_override列(SQL实现)

解决方案:优先使用time_override字段求和,空值时 fallback 到time字段

你需要实现的逻辑是优先取time_override字段的值进行求和,当该字段为NULL时则使用time字段的值。当前的SQL仅对time_override求和,会自动忽略NULL值(SUM函数默认跳过NULL),无法满足需求。

可以使用SQL的COALESCE函数来实现这个逻辑,它会返回传入参数中的第一个非NULL值。修改后的SQL如下:

SELECT 
    SUM(COALESCE(t.time_override, t.time)) AS NUMBER
FROM rev.TIME AS t

逻辑验证(针对你的示例数据):

  • id13:time_override为空,取time字段的1.0
  • id14:取time_override字段的1.0
  • id15:取time_override字段的1.0
    最终求和结果为 1.0 + 1.0 + 1.0 = 3.0,符合优先使用time_override的要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 04:15:02