ヌル可能列をカウントするために、各テーブルに割り当てがありました。簡単:
SELECT table_name, count(*) FROM INFORMATION_SCHEMA.COLUMNS
WHERE is_nullable='NO'
GROUP BY table_name;
今、これを変更して、「プロパティ「NOT NULL」を持つ列」をカウントする必要があります。次のコードはこれを行いますか、それとも単に天気列名が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;
テーブル内のすべてのNOT NULL列のカウントを取得するには、次を使用します。
SELECT count(*)
FROM information_schema.columns
WHERE table_schema = 'table_schema_here'
AND table_name = 'table_name_here'
AND is_nullable = 'YES';
これが誰かの助けになることを願っています。