Redshift Postgres SQL比较表中的NULL与NOT NULL值

时间:2015-07-27 17:44:48

标签: postgresql null

我正在尝试在Redshift DB(Postgres SQL)中创建一个查询来执行以下操作:

我正在检查质量控制的列,并且每列需要NULLNOT NULL的百分比。我希望我的输出看起来像这样,下面显示总数但是如果可能的话需要%。我该如何撰写此查询?

Column     NOT NULL  NULL       Total Records           Percentage NULL   
--------- -------   ------    ----------------        ---------------------
Column A     78       10            88                       11.3%
Column B     68       15            83                       18.0%
Column C      3        5             8                       62.5%

1 个答案:

答案 0 :(得分:0)

使用SQL,您可以计算特定列的值,如下所示:

select
  count(a) as "NOT_NULL",
  count(*) - count(a) as "NULL",
  count(*) as "Total Records",
  to_char(100.0 * (count(*) - count(a)) / count(*), '999.9%') as "Percentage NULL"
from stack

但是,每列显示"一行"。您必须同时JOIN多个查询才能产生该结果。