При предположението (потвърдено в коментарите), че единствените три състояния са yes
, no
и ney
, най-простото нещо може да е просто да count
условен case
изявления:
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