我有一个赋值给每个表来计算可空列。简单:
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;