sql >> Databasteknik >  >> RDS >> Mysql

Förbättra på hur man får antalet tillfällen för varje distinkt värde för Group Concat Mysql

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


  1. SQL som listar alla födelsedagar inom de kommande och föregående 14 dagarna

  2. Har MySQL stöd för tabellarv?

  3. 4 funktioner för att få timmen från ett tidsvärde i MariaDB

  4. Vad betyder egentligen max_connections?