Sur*_*dhi 0 sql postgresql null count
select distinct "column" from table;
Run Code Online (Sandbox Code Playgroud)
输出:
column
1 0.0
2 [null]
3 1.0
Run Code Online (Sandbox Code Playgroud)
但是当我尝试计算空值时
select count("column") from train where "column" is NULL;
Run Code Online (Sandbox Code Playgroud)
输出0(零)
你能说出哪里出错吗?
Eld*_*rov 18
使用求和
SELECT SUM(CASE WHEN column IS NULL THEN 1 ELSE 0 END) AS column_null_tally
FROM table;
Run Code Online (Sandbox Code Playgroud)
用途count(*)
:
select count(*) from train where "column" is NULL;
Run Code Online (Sandbox Code Playgroud)
count()
使用任何其他参数计算非NULL值,因此如果"column"
是,则没有NULL
.
当您想要计算聚合值(包括 NULL 值)但不能使用count(*)
(如果其他列也不同)时的一些解决方法。
在这些情况下,您可以使用此请求:
count(distinct("column")) + (CASE bool_or("column" is null) WHEN true THEN 1 ELSE 0 END)
Run Code Online (Sandbox Code Playgroud)
在count(distinct(column))
将计算非空值,而另一部分将增加1
,如果有一个空值
使用FILTER
SELECT
COUNT(*) FILTER (WHERE "column" IS NULL) AS is_null,
COUNT(*) FILTER (WHERE "column" < 1.0) AS lt_one,
COUNT(*) FILTER (WHERE "column" > 1.0) AS gt_one,
COUNT(*) FILTER (WHERE "column" = 1.0) AS just_perfect
FROM "table";
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1234 次 |
最近记录: |