news 2026/6/22 6:17:03

postgreq sum(a) 如果a有null值会有什么影响

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
postgreq sum(a) 如果a有null值会有什么影响

PostgreSQL 中,使用SUM(a)时如果列a包含NULL值,其行为如下:

核心行为

SUM函数会自动忽略NULL,不会将其视为 0 参与计算。

sql

复制

-- 示例数据 CREATE TABLE test (a INT); INSERT INTO test VALUES (1), (2), (NULL), (3); -- 查询 SELECT SUM(a) FROM test; -- 结果: 6 (即 1+2+3,NULL 被忽略)

关键点

表格

复制

场景结果说明
所有行都是NULLNULL没有可累加的值,返回NULL
部分行是NULLNULL值的总和NULL被自动排除
包含NULL+ 0与非NULL值相同0NULL不同,0会计入,NULL不会

需要注意的情况

1. 全 NULL 返回 NULL

sql

复制

SELECT SUM(a) FROM test WHERE a IS NULL; -- 结果: NULL

2. 与 COUNT 的区别

sql

复制

-- SUM 忽略 NULL SELECT SUM(a), -- 6 COUNT(a), -- 3 (忽略 NULL) COUNT(*) -- 4 (包含 NULL) FROM test;

3. 如果需要将 NULL 视为 0

sql

复制

-- 使用 COALESCE SELECT SUM(COALESCE(a, 0)) FROM test; -- 结果仍然是 6,但语义更清晰 -- 或者在过滤时处理 SELECT SUM(a) FROM test WHERE a IS NOT NULL;

标准符合性

这种行为符合SQL 标准—— 聚合函数(SUM,AVG,MAX,MIN等)都会忽略NULL值,只有COUNT(*)会统计所有行。

⚠️ 注意:这与编程语言中null + number的行为不同,SQL 聚合函数有专门的NULL处理语义。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/21 22:29:59

从GAP到剪枝:CNN全连接层分类技术演进与实战指南

从GAP到剪枝:CNN全连接层分类技术演进与实战指南 引言 在卷积神经网络(CNN)的辉煌成就中,全连接层(Fully Connected Layer,简称FC层)长期扮演着至关重要的“最终裁决者”角色。它将卷积层和池化…

作者头像 李华
网站建设 2026/6/21 22:31:31

CNKI是什么

作为一项整合了海量中文知识资源的技术与服务,CNKI(中国知网)的设计逻辑,可以理解为构建了一个覆盖广泛学术领域、互联互通的知识网络。下面从几个方面,为你梳理它的核心要素、功能与应用。1. 它是什么:核心…

作者头像 李华
网站建设 2026/6/21 7:12:46

Canvas学习管理系统

Canvas学习管理系统是一种用于在线教育和管理课程的数字平台。它类似于一个虚拟的校园,将课程资料、作业、成绩、讨论等教学元素集中在一个统一的网络空间中。在功能上,Canvas主要支持以下几个核心方面: 教师可以通过它发布课程大纲、课件、阅…

作者头像 李华
网站建设 2026/6/21 23:37:56

信息系统仿真:数据传输与网络仿真_(2).数据传输基础

数据传输基础 1. 数据传输的基本概念 1.1 数据传输的定义 数据传输是指在不同设备之间或同一设备内不同组件之间传输数据的过程。在信息系统仿真中,数据传输是核心环节之一,它涉及到数据的编码、传输、解码和验证等多个步骤。数据传输的效率和可靠性直…

作者头像 李华
网站建设 2026/6/21 23:44:39

AI产品经理:小白也能掌握的高薪职业,未来5年最值得all in

文章指出AI产品经理是未来5年最具前景的职业,将其分为工具型、应用型和专业型三个层次。针对想入行的人群,文章分析了常见的三种状态:观望者、探索者和跑偏者,并提出成为应用型AI产品经理的"三步学习法":夯实…

作者头像 李华