Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Melhore em Como obter o número de ocorrências para cada valor distinto do Grupo Concat Mysql


Sob a suposição (confirmada nos comentários) que os únicos três status são yes , no e ney , o mais simples pode ser apenas count condicional case declarações:
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