select distinct "column" from table;
输出:
column
1 0.0
2 [null]
3 1.0
但是当我尝试计算空值时
select count("column") from train where "column" is NULL;
给出输出0(零)
您能建议哪里出问题了吗?
答案 0 :(得分:6)
使用count(*)
:
select count(*) from train where "column" is NULL;
count()
与其他任何参数一起计算非NULL值,因此如果"column"
为NULL
则不存在。
答案 1 :(得分:4)
当您要对聚合中的值(包括NULL值)进行计数但不能使用count(*)
(如果其他列也不同)时,一些解决方法。
在这些情况下,您可以使用此请求:
count(distinct("column")) + (CASE bool_or("column" is null) WHEN true THEN 1 ELSE 0 END)
count(distinct(column))
将计算非空值,如果存在空值,另一部分将添加1
答案 2 :(得分:2)
使用SUM
var carName = "Volvo";
// code here can use carName
function myFunction() {
// code here can also use carName
}