配置单元,SQL:为配置单元表中的100多列返回空值计数

配置单元,SQL:为配置单元表中的100多列返回空值计数,sql,hive,Sql,Hive,为配置单元表中的100多列返回空值计数的SQL代码是什么 在SQL中是 SELECT SUM(CASE WHEN a is null then 1 else 0 end) as a_null_count, SUM(CASE WHEN b is null then 1 else 0 end) as b_null_count, --- ... SUM(CASE WHEN z is null then 1 else 0 end) as z_null_count

为配置单元表中的100多列返回空值计数的SQL代码是什么

在SQL中是

 SELECT 
   SUM(CASE WHEN a is null then 1 else 0 end) as a_null_count,
   SUM(CASE WHEN b is null then 1 else 0 end) as b_null_count,       
   --- ...
   SUM(CASE WHEN z is null then 1 else 0 end) as z_null_count
 FROM table

有没有办法避免键入每个列名?@user2205916-您可以使用元数据编写查询以生成sql语句。-从columns视图中选择并创建sum语句。否则,在这种情况下,此处不需要0statements@leftjoin-您认为显式给出值或让异常处理程序放入默认值哪个更快?@Hogan,这取决于具体情况。如果when子句的non为true,则CASE返回NULL。SUM不计算空值,如果在reducer上执行,甚至不应该接收这些值。但我不确定它到底是如何工作的。从未注意到性能上的差异,但如果没有这些差异,0文本会更短