SQL. Как посчитать количество строк с нулевым значением (NULL)?

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

Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *