繁体   English   中英

Teradata SQL-同一列中的两个计数

[英]Teradata SQL - two counts from same column

我是SQL和Teradata的新手。 我试图为此寻找答案,但到目前为止仍未成功。

我创建了一个易失性表,其中的一列的值小于100(可以包含负数)。 我想得到一个总数,一个所有“ 0”值的计数,一个所有值的计数,其中0

我知道我可以为每种类型做一个单独的声明,但是据我所知,我想学习“正确”的方法。 我尝试使用在此链接处找到的类似解决方案- 同一列上的不同值计数 -但这似乎不起作用,因为我需要使用><和类似的运算符。

类似于该线程中的表的布局就足够了。

谢谢您的帮助。

count不能是有条件的。 它计算所有记录,或者如果您指定列,则计算该列不为null所有记录。 使用sum

select count(*) as total,
       sum(case when some_col = 0 then 1 else 0 end) as count_0,
       sum(case when some_col > 0 then 1 else 0 end) as count_above0
from your_table

暂无
暂无

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

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