Dovresti specificare le clausule WHERE anche nella query che fa il COUNT degli elementi

Altrimenti, per forza, il count calcola tutta la tabella e non solo i record che ottieni dalla ricerca