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

如何从多行含NULL的同ID数据中提取无NULL单行聚合结果?

解决方案

因为题目明确同一id下各condition字段的非NULL值均唯一,我们可以利用SQL的聚合函数提取每个字段的唯一非NULL值——聚合函数会自动忽略NULL值,只保留有效的非NULL数据。

实现代码

SELECT
    id,
    MAX(condition_A) AS condition_A,
    MAX(condition_B) AS condition_B,
    MAX(condition_C) AS condition_C,
    MAX(condition_D) AS condition_D
FROM tableA
GROUP BY id;

原理说明

  • MAX() 函数会忽略字段中的NULL值,仅对非NULL值计算。由于同一id下每个condition字段只有一个非NULL值,最终结果就是这个唯一的有效值。
  • 也可以用 MIN() 函数替代 MAX(),效果完全相同——毕竟每个字段只有一个非NULL值,最大值和最小值是同一个数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 07:20:38