我有一个查询如何计算表中不存在空值的行数。
假设,下面的数据集有 8 列 h1,h2,h3......h8。如果所有列都为 NULL,则计数为 0。如果至少有一个列具有值,则计数为 1。
h1 h2 h3 h4 h5 h6 h7 h8
U U NULL U Y NULL Y X
U NULL U U Y Y X X
U U U NULL U NULL Y NULL
NULL NULL NULL NULL NULL NULL NULL NULL
X V U U Y NULL Z X
Y X NULL X Y Z U
X NULL U NULL NULL U Z Y
NULL NULL NULL NULL NULL NULL NULL NULL
对于上述数据集,答案将是 6。因为只有两行(4 和 6)的所有列都为 NULL。
请在 hive 中建议命令以获取结果。
最佳答案
您可以结合使用 CASE
、COALESCE
和 SUM
。
SELECT SUM (
CASE
WHEN COALESCE (h1, h2, h3, h4, h5, h6, h7, h8) IS NOT NULL
THEN 1
ELSE 0
END)
FROM yourtable;
关于hive - 计算配置单元中没有空值的行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48315742/