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

SQL Server中替换同ID1分组下Value列Null值为组内最小值

解决SQL Server中按分组替换NULL值的问题

需求:当ID1列值相同时,若Value列存在NULL值,则将该NULL值替换为对应ID1分组的Value列最小值。

原表(Table 1)

ID1ID2Value
110.1
122
13null
250.2
25null
376

期望输出表

ID1ID2Value
110.1
122
130.1
250.2
250.2
376

实现SQL代码

SELECT 
    ID1,
    ID2,
    ISNULL(Value, MIN(Value) OVER (PARTITION BY ID1)) AS Value
FROM Table1;

代码说明

  • MIN(Value) OVER (PARTITION BY ID1):通过窗口函数按ID1分组计算每组Value列的最小值,该值会对应到分组内的每一行。
  • ISNULL(Value, 分组最小值):判断当前行的Value是否为NULL,若是则用分组最小值替换,否则保留原Value值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 07:50:14