Adapté de Oracle :Comment compter lignes nulles et non nulles :
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)
ne compte que NOT NULL
valeurs. L'ajout de ceux pour les six colonnes équivaut à ValuesCount, bien sûr.COUNT(*)
compte toutes les lignes, même si toutes les colonnes d'une ligne étaient NULL
. Multipliez par 6 pour le nombre total de cellules, puis soustrayez tous les NOT NULL
valeurs pour obtenir le NULL
compter.