В SQL для подсчёта количества NULL
значений в колонке можно использовать функцию COUNT
вместе с CASE WHEN
или SUM
.
Вот несколько способов:
1. Использование COUNT
с CASE WHEN
SELECT COUNT(*) - COUNT(column_name) AS null_count
FROM table_name;
COUNT(*)
считает все строки.COUNT(column_name)
считает только не-NULL значения.- Разница между ними даёт количество
NULL
значений.
2. Использование SUM
SELECT SUM(CASE WHEN column_name IS NULL THEN 1 ELSE 0 END) AS null_count
FROM table_name;
CASE WHEN column_name IS NULL THEN 1 ELSE 0 END
даёт1
дляNULL
и0
для остальных.SUM
суммирует единицы, что даёт общее количествоNULL
значений.
3. Альтернативный вариант с COUNT(CASE WHEN)
SELECT COUNT(CASE WHEN column_name IS NULL THEN 1 END) AS null_count
FROM table_name;
COUNT
считает только строки, гдеCASE WHEN
возвращает1
, то есть толькоNULL
значения.
Добавить комментарий