Under antagandet (bekräftat i kommentarerna) att de enda tre statuserna är yes
, no
och ney
, det enklaste kan vara att bara count
villkorligt case
uttalanden:
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