В вашем текущем запросе нет ничего плохого, и, вероятно, я бы использовал его здесь. Однако здесь вы можете использовать трюк COALESCE
:
SELECT COUNT(*)
FROM yourTable
WHERE COALESCE(field1, field2, field3, field4) IS NOT NULL;
Это работает, потому что для любой записи, имеющей хотя бы одно из четырех полей, назначенных дате, отличной от NULL
, проверка IS NOT NULL
не пройдет. Только записи, для которых все четыре поля равны NULL
, будут совпадать.
Обратите внимание, что при этом учитываются записи, имеющие хотя бы одно поле, отличное от NULL
. Если вместо этого вы хотите подсчитать записи, в которых все четыре поля равны NULL
, используйте:
SELECT COUNT(*)
FROM yourTable
WHERE COALESCE(field1, field2, field3, field4) IS NULL;
person
Tim Biegeleisen
schedule
04.06.2021