预言计数空

问题描述:

熊猫是提供预言计数空

df.isnull().sum() 

计数每每一列中的NAN值。 SQL中有类似的东西吗?

不知道大熊猫是,但良好的老CASE应该做(和它的作品在所有主要的数据库引擎):

SELECT COUNT(CASE WHEN column_name IS NULL THEN 1 END) ... 
+0

...继续像'from table_name'一样基本上 –

+0

当然。但是你手动需要指定所有列?有没有一种解决方案可以自动执行? –

+0

这是另一个问题。您需要查看动态SQL。 –

您可以使用:

SELECT COUNT(*) - COUNT(column_name) 
FROM table_name 

COUNT(*)(或等价地, COUNT(1))将对行进行计数,而不管是否有任何列具有NULL值,并且COUNT(column_name)将计算非NULL值(如果存在,可以使用该列上的索引)。

+0

当然。但是你手动需要指定所有列?有没有一种解决方案可以自动执行? –

+0

@GeorgHeiler如果你没有指定列,数据库如何知道你想要计算哪些列的NULL值? SQL中没有任何方法可以为所有列重复相同的操作(除非您要在数据字典上使用动态SQL和查询,但效率会降低)。 – MT0

+0

有没有办法简单地使用表中的所有列?也许通过PLSQL? –