Методы подсчета ненулевых значений в PostgreSQL с использованием psql

Запрос «psql count, где не null» написан в синтаксисе PostgreSQL и используется для подсчета количества ненулевых значений в определенном столбце таблицы. Вот несколько способов добиться этого в PostgreSQL:

  1. Метод 1: использование функции COUNT() с предложением WHERE

    SELECT COUNT(column_name) FROM table_name WHERE column_name IS NOT NULL;
  2. Метод 2: использование функции COUNT() с оператором CASE

    SELECT COUNT(CASE WHEN column_name IS NOT NULL THEN 1 ELSE NULL END) FROM table_name;
  3. Метод 3: использование функции COUNT() в сочетании с оператором IS DISTINCT FROM

    SELECT COUNT(*) FROM table_name WHERE column_name IS DISTINCT FROM NULL;
  4. Метод 4: использование предложения FILTER с функцией COUNT()

    SELECT COUNT(*) FILTER (WHERE column_name IS NOT NULL) FROM table_name;
  5. Метод 5. Использование подзапроса для фильтрации непустых значений и последующий подсчет строк

    SELECT COUNT(*) FROM (SELECT column_name FROM table_name WHERE column_name IS NOT NULL) AS subquery;