Převzato z Oracle:Jak počítat null a non-null řádky :
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)
počítá pouze NOT NULL
hodnoty. Přidání těchto hodnot pro všech šest sloupců se samozřejmě rovná ValuesCount.COUNT(*)
počítá všechny řádky, i když všechny sloupce v jednom řádku byly NULL
. Vynásobte 6 pro celkový počet buněk a poté odečtěte všechny NOT NULL
hodnoty, abyste získali NULL
počítat.