Bajo el supuesto (confirmado en los comentarios) de que los únicos tres estados son yes
, no
y ney
, lo más simple puede ser simplemente count
case
condicional declaraciones:
SELECT name,
COUNT(CASE status WHEN 'yes' THEN 1 ELSE NULL END) AS yes,
COUNT(CASE status WHEN 'no' THEN 1 ELSE NULL END) AS no,
COUNT(CASE status WHEN 'ney' THEN 1 ELSE NULL END) AS ney,
COUNT(*) AS total
FROM mytable
GROUP BY name