2016-01-21 100 views
0
select 
count(COLUMN_A is null or COLUMN_A like '0*') as num_miss_rows, 
count(*) as num_total_rows 
from tableX; 

不起作用。因为在任何expr的计数(表达式)函数返回增量非空值甚至0计数Hive中列的缺失/默认值行的最佳方法是什么?

我想计算num_miss_rows/num_total_rows,许多列。

做这个计数的最好方法是什么?

回答

0

你想使用和内部的情况下(也应该是like 0%没有like 0*):

select 
sum(case when COLUMN_A is null or COLUMN_A like '0%' then 1 end) as num_miss_rows, 
count(*) as num_total_rows 
from tableX; 
+0

也想通了这一点。 :)实际上,我想在零次或多次匹配'0'的重复字符。 %匹配任何字符。我用rlike“^ 0 * $”。 – Osiris

+0

rlike是如此之好,我喜欢它 – maxymoo

相关问题