我想获取配置单元中表中空值的百分比。有没有一种简单的方法可以做到这一点,而不必枚举查询中的所有列名?在本例中,大约有50k行和20列。提前谢谢!比如: SELECT count(each_column) / count(*) FROM TABLE_1 WHERE each_column = NULL;
SELECT count(each_column) / count(*) FROM TABLE_1 WHERE each_column = NULL;
lmvvr0a81#
如果使用代码执行此操作,则需要列出列。有一种方法:
select avg(case when col1 is null then 1.0 else 0.0 end) as col1_null_p, avg(case when col2 is null then 1.0 else 0.0 end) as col2_null_p, . . . from t;
如果获取表中的列列表,则可以很容易地在电子表格中构造查询。
wwtsj6pe2#
您需要的方法取决于您的情况:对于20个固定列:只需键入您的查询对于200个固定列:将列名复制到您喜爱的工具(excel)并在那里生成查询对于n个可能不固定的列:编写一个脚本来生成代码我曾经写过一个python脚本。我现在手头上还没有,但用以下逻辑很容易创建:查询表的前1(或0?)行,以获取所有标题。构建所需的查询以生成基于列的统计信息(如空值的百分比)并合并结果然后执行查询。当然,它可以扩展为针对不同的表和统计数据运行,但是要意识到这可能无法很好地扩展。在我的例子中,我想我每次都必须将查询构建分成20列,然后再连接起来,因为在400列上运行它只会生成一个太复杂的查询。
2条答案
按热度按时间lmvvr0a81#
如果使用代码执行此操作,则需要列出列。有一种方法:
如果获取表中的列列表,则可以很容易地在电子表格中构造查询。
wwtsj6pe2#
您需要的方法取决于您的情况:
对于20个固定列:只需键入您的查询
对于200个固定列:将列名复制到您喜爱的工具(excel)并在那里生成查询
对于n个可能不固定的列:编写一个脚本来生成代码
我曾经写过一个python脚本。我现在手头上还没有,但用以下逻辑很容易创建:
查询表的前1(或0?)行,以获取所有标题。
构建所需的查询以生成基于列的统计信息(如空值的百分比)并合并结果
然后执行查询。
当然,它可以扩展为针对不同的表和统计数据运行,但是要意识到这可能无法很好地扩展。
在我的例子中,我想我每次都必须将查询构建分成20列,然后再连接起来,因为在400列上运行它只会生成一个太复杂的查询。