Przy założeniu (potwierdzonym w komentarzach), że tylko trzy statusy to yes
, no
i ney
, najprostszą rzeczą może być po prostu count
warunkowe case
oświadczenia:
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