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

SQL中如何筛选无NULL值行并将结果合并为单行

搞定SQL提取非NULL值并合并为单行的需求

嘿,这个需求我熟!咱们先把你的示例数据整理得更清晰些,方便理解:

REFPriorityownerserver
1234LOWNULLNULL
4567NULLNULLWINDOWS
8907NULLrootNULL

你的目标是把每个列里唯一的非NULL值提出来,合并成这样一行结果:

REFPriorityownerserver
1234LOWrootWINDOWS

最简单的实现方案

用SQL的聚合函数MAX()或者MIN()就能轻松搞定!这类聚合函数会自动忽略NULL值,刚好匹配你的场景——每个列只有一个非NULL有效值。

直接可用的SQL代码

SELECT
    MAX(REF) AS REF,
    MAX(Priority) AS Priority,
    MAX(owner) AS owner,
    MAX(server) AS server
FROM
    your_table_name; -- 记得把这里换成你的实际表名

为啥这个方案好用?

  • MAX()会跳过所有NULL行,只统计非NULL的数值/文本
  • 因为你的每个列只有一个有效非NULL值,MAX()直接就能返回这个值(用MIN()效果也一样,只要列里只有一个非NULL值)
  • 如果后续某个列出现多个非NULL值,你可以根据业务需求调整(比如取最新的、最大的),但当前场景下这个方案最简洁高效

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 08:23:19