Hi,
ich muß für die Uni SQL-Aufgaben lösen und komme mit der GROUP BY-Sortierung nicht klar.
Die Ausgabe soll nach dem ersten Attribut (Spalte) sortiert werden, das klappt aber nicht. Warum weiß ich nicht.
Wäre schön, wenn mir einer helfen kann.
Gruß Optalamia
SELECT DISTINCT l.name, CAST( l.einwohner AS integer) AS Land_Einw, CAST( SUM(lt.einwohner) AS integer) AS LT_Einw ,
CAST( (SUM(lt.einwohner) / l.einwohner) AS decimal(20,2)) AS VERHAELTNIS_LT_zu_LAND
FROM land l, landesteil lt
WHERE l.l_id = lt.l_id
GROUP BY l.name, l.einwohner
HAVING ((SUM(lt.einwohner) / l.einwohner) > 1.1)
OR ((SUM(lt.einwohner) / l.einwohner) < 0.9);
hier (fast) der selbe CODE noch mal abgespeckt, damit übersichtlicher:
SELECT DISTINCT l.name, l.einwohner, SUM(lt.einwohner),
(SUM(lt.einwohner) / l.einwohner)
FROM land l, landesteil lt
WHERE l.l_id = lt.l_id
GROUP BY l.name, l.einwohner;