在PostgreSQL中查找不为NULL的列

前端之家收集整理的这篇文章主要介绍了在PostgreSQL中查找不为NULL的列前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个赋值给每个表来计算可空列。简单:
SELECT table_name,count(*) FROM INFORMATION_SCHEMA.COLUMNS
 WHERE is_nullable='NO'
 GROUP BY table_name;

现在我必须修改它来计算“具有属性”NOT NULL“”的列。以下代码会做这个还是只是检查天气列名称不为空?

CREATE TEMP TABLE A AS 
SELECT DISTINCT column_name,table_name AS name FROM INFORMATION_SCHEMA.COLUMNS
WHERE column_name IS NOT NULL
GROUP BY table_name,column_name;

SELECT name,count(*) FROM A
GROUP BY name;

如果没有…任何建议?

没有。

这个查询

SELECT DISTINCT column_name,table_name
FROM INFORMATION_SCHEMA.COLUMNS
WHERE column_name IS NOT NULL

将返回列“column_name”中具有值的所有行。

该表中的所有行将始终在列“column_name”列中。

你只需要知道多少列是可空的,有多少列是不可空的?

SELECT is_nullable,COUNT(*)
FROM INFORMATION_SCHEMA.COLUMNS
GROUP BY is_nullable;

按表名计数?我想你可以用这个

SELECT table_name,is_nullable,count(*)
FROM INFORMATION_SCHEMA.COLUMNS
GROUP BY table_name,is_nullable
ORDER BY table_name,is_nullable;

猜你在找的Postgre SQL相关文章