Si vous ne voulez pas nulle et vide, essayez ceci:
select
count(distinct case when no1 = '' then null else no1 end),
count(distinct case when no1 = '' then null else no1 end)
+ count(distinct case when no2 = '' then null else no2 end)
from `tbl`
Voir Demo ici.
Expliquer: count
, sum
, avg
etc ... Comme ces fonctions d'agrégation ne prendra pas null
comme objet calculatoire. Donc, il suffit de tourner la valeur vide à null
, ici utilisez case when
pour le faire, alors count distinct
obtiendra ce que vous voulez.
Je ne veux pas inclure null et vide en nombre. veux résultat 3 5 –