繁体   English   中英

TSQL空值计数

[英]TSQL Counting with Nulls

我有一张桌子,列出了急诊科的入院人数和出院人数。 这是桌子的样子

在此处输入图片说明

我正在努力让总人数被接受并出院。 就像是

允许-100出院-200

有没有办法用NULL值做到这一点?

select 
    sum(case when Admitted is null then 0 else Admitted end) Admitted,    
    sum(case when DischargedFromED is null then 0 else DischargedFromED end) as DischargedFromED
from MyMagicalTable;

要么

select
    sum(coalesce(Admitted, 0)) Admitted,
    sum(coalesce(DischargedFromED, 0)) DischargedFromED
from MyMagicalTable;

只需使用sum() ;

select sum(admitted) as admitted, sum(DischargedFromED) as DischargedFromED
from t;

聚合函数将忽略NULL值。

如果您担心在sum() 之后出现NULL值,请之后使用coalesce()

select coalesce(sum(admitted), 0) as admitted,
       coalesce(sum(DischargedFromED), 0) as DischargedFromED
from t;

上面假设列是数字。 如果它们是其他类型,则需要将它们转换为数字。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM