Na podstawie Oracle:Jak liczyć puste i niezerowe wiersze :
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)
liczy tylko NOT NULL
wartości. Dodanie ich do wszystkich sześciu kolumn równa się oczywiście ValuesCount.COUNT(*)
zlicza wszystkie wiersze, nawet jeśli wszystkie kolumny w jednym wierszu były NULL
. Pomnóż przez 6 dla całkowitej liczby komórek, a następnie odejmij wszystkie NOT NULL
wartości, aby uzyskać NULL
liczyć.