Probablemente se deba a que COUNT() usado sobre un campo cuenta uno por cada campo no nulo, cosa que no significa que tenga un dato válido.
SI ese campo contiene un 1 por cada voto, y cero(0) si no votó, lo que debes hacer es SUM(), no COUNT().
Por otro lado, si ese campo contiene un valor SI o NO, o cualquier otra cosa, lo que debes hacer es sumar 1 en todos aquellos donde esa condición se cumple.
Como erás, el tema depende de cómo estés guardando los datos.
Supongamos que ea un S/N. La cosa sería:
Código MySQL:
Ver original SUM(IF(p1
= 'S', 1, 0)) p1
, SUM(IF(p2
= 'S', 1, 0)) p2
, SUM(IF(p3
= 'S', 1, 0)) p3
, SUM(IF(p4
= 'S', 1, 0)) p4
La idea anda por acá, pero no estás explicando muy claramente cómo es la información que guardas, como para ayudarte más.