Vediamo se ho capito, tu vorresti sapere quanti record sono presenti con un certa condizione.

SELECT ADA.ADAfin , COUNT(*) AS NUMada
FROM ADA
WHERE (CURDATE() BETWEEN ADA.ADAini AND ADA.ADAfin AND ADA.ADAnii = 0 )
OR ( ADA.ADAfin > CURDATE() AND ADA.ADAnii > 0 AND ADA.ADAnid > 0 )
GROUP BY ADA.ADAfin

...
Ciao