Anpassad från Oracle:How to count null- och icke-nullrader :
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)
räknas bara NOT NULL
värden. Att lägga till dessa för alla sex kolumner är naturligtvis lika med ValuesCount.COUNT(*)
räknar alla rader, även om alla kolumner inom en rad var NULL
. Multiplicera med 6 för det totala antalet celler och subtrahera sedan alla NOT NULL
värden för att få NULL
räkna.