Stefan: Queryfrage GROUP BY und HAVING

Hallo,

Tabelle stadt: {name,land, einwohner}

Frage: Liste alle Länder auf inkl. deren Stadt mit den meisten Einwohnern und der dazugehörigen Einwohnerzahl.

  
SELECT name, land, einwohner  
FROM stadt  
GROUP BY land  
HAVING MAX(einwohner)  

ergibt natürlich ein Zufallsprodukt.

Aber

  
SELECT y.name, y.land, y.einwohner FROM stadt AS y  
JOIN  
(SELECT land, max(einwohner) FROM `stadt`  
group by land) AS x  
ON y.name= x.name  

ergibt, daß mysql natürlich x.name nicht kennt.

Ich kriegs grad einfach nicht gebacken, einen die Ausgangstabelle mit der Ergebnistabelle aus "SELECT land, max(einwohner) FROM stadt group by land" zu joinen.

Wer hilft mir auf die Sprpünge?

Gruß, Stefan

  1. Hi,

    Tabelle stadt: {name,land, einwohner}

    Frage: Liste alle Länder auf inkl. deren Stadt mit den meisten Einwohnern und der dazugehörigen Einwohnerzahl.

    MySQL Manual, 3.6.4. The Rows Holding the Group-wise Maximum of a Certain Column

    MfG ChrisB

    --
    RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?