#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.
Комментариев нет:
Отправить комментарий