sql - 如何获取表中每一列的空值计数
问题描述
我有一个包含 20 列的表。我如何知道任何列是否包含空值。如果有空值,如何计算它们。
解决方案
create table my_table(id int primary key, val numeric, str text, day date);
insert into my_table values
(1, 10, 'a', '2018-01-01'),
(2, 20, 'b', null),
(3, 30, null, null),
(4, null, null, null);
select key as column, count(*) as null_values
from my_table t
cross join jsonb_each_text(to_jsonb(t))
where value is null
group by key;
column | null_values
--------+-------------
val | 1
str | 2
day | 3
(3 rows)
推荐阅读
- yaml - 使用 terraform yamldecode 访问多级元素
- python - OpenCV 是否能够执行灰度形态扩张?
- python - Kivy-如果一个按钮与回调(实例)绑定,如何调用其他函数
- javascript - NodeJS:map函数将返回一个空数组
- java - 在 Java 8 中使用“gsw”作为瑞士语言区域设置时,java.util.Locale 构造函数不起作用
- python - 迭代for循环时如何将tkinter变量设置为随机int变化
- java - 以 [.] 开头或结尾的对象字段使对象解析在弹性搜索批量索引中不明确
- azure - Azure CLI DevOps 使用 PowerShell 获取已创建项目的 ID
- android - 将应用程序设置为与 UI automator 交互的默认按钮
- python - 如何在没有方向的情况下用python打开一个os应用程序?