Запрос «psql count, где не null» написан в синтаксисе PostgreSQL и используется для подсчета количества ненулевых значений в определенном столбце таблицы. Вот несколько способов добиться этого в PostgreSQL:
-
Метод 1: использование функции COUNT() с предложением WHERE
SELECT COUNT(column_name) FROM table_name WHERE column_name IS NOT NULL; -
Метод 2: использование функции COUNT() с оператором CASE
SELECT COUNT(CASE WHEN column_name IS NOT NULL THEN 1 ELSE NULL END) FROM table_name; -
Метод 3: использование функции COUNT() в сочетании с оператором IS DISTINCT FROM
SELECT COUNT(*) FROM table_name WHERE column_name IS DISTINCT FROM NULL; -
Метод 4: использование предложения FILTER с функцией COUNT()
SELECT COUNT(*) FILTER (WHERE column_name IS NOT NULL) FROM table_name; -
Метод 5. Использование подзапроса для фильтрации непустых значений и последующий подсчет строк
SELECT COUNT(*) FROM (SELECT column_name FROM table_name WHERE column_name IS NOT NULL) AS subquery;