Адаптирано от Oracle:Как да броим нулеви и ненулеви редове :
SELECT
COUNT(Col1)+COUNT(Col2)+COUNT(Col3)+
COUNT(Col4)+COUNT(Col5)+COUNT(Col6) AS ValuesCount,
6*COUNT(*)-COUNT(Col1)-COUNT(Col2)-COUNT(Col3)-
COUNT(Col4)-COUNT(Col5)-COUNT(Col6) AS NullCount
FROM data
GROUP BY id
COUNT(ColX)
брои само NOT NULL
стойности. Добавянето им за всичките шест колони се равнява на ValuesCount, разбира се.COUNT(*)
брои всички редове, дори ако всички колони в един ред са NULL
. Умножете по 6 за общия брой клетки и след това извадете всички NOT NULL
стойности, за да получите NULL
брой.