Страницы

Поиск по вопросам

среда, 1 января 2020 г.

Получить количество строк по столбцу, значение которых равно NULL

#sql #postgresql


SELECT COUNT(cust_email) FROM customers WHERE cust_email is NULL;


Пример входных данных:


  


Почему пишет в результате 0? 

Я хочу получить количество строк, которые в столбце cust_email равны NULL.
Написал запрос верно, а выдает 0, с чем связано?
    


Ответы

Ответ 1



Таково стандартное поведение функции COUNT: count(expression) number of input rows for which the value of expression is not null Она не считает строки со значением null в колонках. Замените её аргумент на символ * или любой константный литерал, например: create table t1 (nullable varchar(16)); insert into t1 values (null); insert into t1 values ('val1'); select count (nullable) as cnt, count (*) as nulls from t1 where nullable is null ; CNT NULLS ---------- ---------- 0 1 рабочий пример на db<>fiddle.

Комментариев нет:

Отправить комментарий