【问题标题】:Problem with aggregate function in SQL returning null valuesSQL中聚合函数返回空值的问题
【发布时间】:2022-06-29 22:19:32
【问题描述】:

我有以下代码:

SELECT SUM(nbooks), SUM(ndescBooks) 
FROM catalog 
WHERE code = '001'      

将两列的数量相加。 在逻辑关系模型中,都允许空值。我有两列填充空的数据库,添加金额返回空。问题是我无法比较该值,因为它是 null,我怎样才能使它在添加 null 值时,它返回 0

【问题讨论】:

    标签: sql postgresql


    【解决方案1】:

    试试这个:

    SELECT COALESCE(SUM(nbooks), 0), COALESCE(SUM(ndescBooks), 0) FROM catalog 
            WHERE code = '001'
            
    

    我建议阅读以下内容:https://www.postgresql.org/docs/current/functions-conditional.html#FUNCTIONS-COALESCE-NVL-IFNULL

    【讨论】:

    • 合并总和的结果而不是每一行不是更好吗?
    • @Magnus,当然,我的错!已编辑,谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-16
    • 2015-07-23
    相关资源
    最近更新 更多