PostgreSQL SUM踩坑

devtools/2024/9/23 1:00:20/

空集合的SUM()将返回NULL,而不是零。

示例SQL

sql">SELECT SUM (amount)
FROM payment 
WHERE customer_id = 2000;

如果没有查询到数据,那么返回的将是NULL

sql"> sum
------null
(1 row)

解决方案

如果您希望SUM()函数在没有匹配行的情况下返回0而不是NULL,可以使用COALESCE()函数。
COALESCE()函数返回第一个非空参数。换句话说,如果第一个参数为NULL,则返回第二个参数。

sql">SELECT COALESCE(SUM(amount), 0 ) total
FROM payment 
WHERE customer_id = 2000;

结果

sql"> total
-------0
(1 row)

http://www.ppmy.cn/devtools/35438.html

相关文章

Java中的ThreadLocal为什么使用弱引用

ThreadLocal中为什么使用弱引用 补个概念: ThreadLocalMap中的key就是Entry,Entry是一个弱引用,关联了当前ThreadLocal对象。需要存储的数据为值。调用set方法要传入两个参数ThreadLocal对象和要存入ThreadLocal对象的数据。 如下图&#xf…

将子进程(exe)界面嵌入到主进程(另一exe)界面中——Qt

前言 近期项目中,要将子进程界面嵌入到主进程中,双方都是自己开发的,之前有过研究,曾经写过一篇文章 将外部exe嵌入到界面中(Windows)——Qt_startf_useshowwindow-CSDN博客,如今发现不好用,界面是嵌入了…

MySQL 迁移到 Oracle 需要注意的问题

MySQL /Oracle 常见问题 1. VARCHAR/VARCHAR2/NVARCHAR 差异: MySQL 的 VARCHAR 是以字符为单位计算的,Oracle 的 VARCHAR 是 以字节为单位计算的,所以对中文的存储 Oracle 是 MySQL 的 2 倍 (GBK)和 3 倍(UTF8) 2. NULL 差异 A. MySQL…

「云渲染平台」3D模型渲染是CPU还是GPU?

​在数字艺术创作和工程设计这两个领域中,将三维模型转换成逼真的二维图像的过程被称为模型渲染,这是一种对计算资源要求极高的技术活动。在渲染三维模型时,CPU和GPU各自承担着不同的任务。现在,让我们来了解在模型渲染的过程中&a…

论文架构介绍

论文架构 背景:建议2段左右完成,字数控制在500左右为佳,对应子题目1过渡段:写150字左右的过渡段,承上启下,回答部分子题目2、3的要求正文实践部分:一般3-7个论点,根据题目的要求来看…

【一步一步了解Java系列】:探索Java基本类型转换的秘密

看到这句话的时候证明:此刻你我都在努力~ 加油陌生人~ 个人主页: Gu Gu Study ​​ 专栏:一步一步了解Java 喜欢的一句话: 常常会回顾努力的自己,所以要为自己的努力留下足迹。 如果喜欢能否点个赞支持一下&#…

奶爸预备 |《伯克毕生发展心理学.从0岁到青少年》 / (美) 劳拉·E. 伯克著——读书笔记

目录 引出第一篇 人的发展理论与研究第1章 历史、理论和研究方法 第二篇 发展的基础第2章 生物基础与环境基础第3章 孕期发育、分娩及新生儿 第三篇 婴儿期和学步期:0~2岁第4章 婴儿期和学步期的身体发育第5章 婴儿期和学步期的认知发展第6章 婴儿期和学步期的情绪与…

设计网页用什么软件

在设计网页时,可以使用多种软件来完成不同的任务。以下是一些常用的网页设计软件,以及它们的特点和用途。 1. Adobe Photoshop: Adobe Photoshop 是一款功能强大的图像编辑软件。在网页设计中,它常用于创建和编辑网页所需的图像、…