gpt4 book ai didi

sql - 为什么 count(case date) 也计算空情况?

转载 作者:行者123 更新时间:2023-11-29 12:35:10 24 4
gpt4 key购买 nike

COUNT(studentuntil) AS CountNow,
COUNT(case when studentuntil > '2018-6-1' then 1 else 0 end) as Testdate

当我这样做时,结果是

现在计数 15

测试日期 60

所以当我检查 CountNow 时,我只有 15 条记录,这意味着 Testdate 应该有 15 条或更少的记录,但它也包括空条目。如何停止它包括空值?

我也试过

COUNT(case when studentuntil > '2018-6-1' and is not null then 1 else 0 end) as testdate

也没有用

最佳答案

如果您使用 CASE 并使用不可为 null 的值填充 ELSE 部分,它将被计算在内。

你可以跳过 ELSE 部分:

COUNT(case when studentuntil > '2018-6-1' then 1 end) as Testdate

或将COUNT更改为SUM:

SUM(case when studentuntil > '2018-6-1' then 1 ELSE 0 end) as Testdate

我认为最好的方法是:

COUNT(*) FILTER(WHERE studentuntil > '2018-6-1')

关于sql - 为什么 count(case date) 也计算空情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51302837/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com