В 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значения.