Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Gruppieren, Sortieren und Zählen in einer einzigen Abfrage

Nur meine Vermutung, wonach Sie fragen http://sqlfiddle.com/#!9/ e9206/16

weil es das gewünschte Ergebnis bringt:

 SELECT A.family, C.NbrFamily,A.sub_family,B.NbrSubFamily,A.name,COUNT(A.Name)
 FROM  commodities as A
LEFT JOIN (
  SELECT family,sub_family,COUNT(Name) AS NbrSubFamily 
  FROM commodities 
  GROUP BY family,sub_family
) B
ON A.sub_family = B.sub_family 
  AND A.family = B.family 
LEFT JOIN (
  SELECT family,COUNT(Name) AS NbrFamily 
  FROM commodities 
  GROUP BY family
) C

ON  A.family = C.family 
GROUP BY A.family,A.sub_family,A.name
ORDER BY A.id