25. März 20205 j Da hast du ja neben der reinen SQL Aufgabe noch kostenlos gelernt, dass Encoding wichtig ist und das Unterabfragen nicht immer Sinn machen.
26. März 20205 j Autor So Leute, brauche ein letztes Mal Hilfe, danach höre ich auf zu nerven Bin bis zur letzten Aufgabe durchgedrungen, hier komme ich aber nicht mehr weiter. Aufgabe: Eine Liste aller Kontinente (Name) mit Angabe der Abweichung ihrer Fläche vom Mittelwert aller Kontinentflächen Tabelle: +-----+-------------+---------+ | KNR | Name | Flaeche | +-----+-------------+---------+ | AF | Afrika | 31 | | SA | S??damerika | 18 | | AS | Asien | 44 | | AU | Australien | 9 | | EU | Europa | 10 | | NA | Nordamerika | 24 | +-----+-------------+---------+ Hat jemand einen kleinen Tipp/Gedankenanstoß?
26. März 20205 j vor 40 Minuten schrieb Whitehammer03: Hat jemand einen kleinen Tipp/Gedankenanstoß? Hast du schon einen Ansatz? Du kannst das mit ABS(), AVG() und Subselect lösen.
26. März 20205 j Autor Ja, an AVG hatte ich schon gedacht. Meine ersten Gedanken gingen in Richtung: Select Name from Kontinent where Flaeche > (select AVG(flaeche) from kontinent); Nur wie kann ich nun die Abweichung der Flächen aller Kontinente einzeln anzeigen lassen?
26. März 20205 j Autor ABS kannte ich nicht, danke. Dient also dem Ausdruck numerischer Zahlen.. "select name, ABS( Flaeche - AVG(FLaeche) where Flaeche............." Geht das in die richtige Richtung? Ich habe den Befehl so ausprobiert (natürlich komplett), kriege jedoch einen Syntax Fehler.. aber von der Methodik/Logik her passt das, oder ?
26. März 20205 j Autor vor 7 Minuten schrieb Whitehammer03: Select Name from Kontinent where Flaeche > (select AVG(flaeche) from kontinent); Moment.. Ich soll doch alle Kontinente anzeigen und nicht nur die, die eine größere Fläche als den durchschnittswert haben..oh man
26. März 20205 j Autor Select Name,ABS(Flaeche-AVG(Flaeche)) from Kontinent; Mit diesem Befehl wird mir irgendwie nur +--------+---------------------------+ | Name | ABS(Flaeche-AVG(Flaeche)) | +--------+---------------------------+ | Afrika | 8.3333 | +--------+---------------------------+ angezeigt.. was mache ich falsch? 😕
26. März 20205 j Die durchschnittliche Fläche "musst" du dir per Subselect holen, damit der Wert in jeder Zeile des äußeren Selects genutzt werden kann.
26. März 20205 j Na, es ist das was du da oben als Query hast. Nur musst du AVG(Flaeche) in einen Subselect packen. Spoiler Oder du nutzt Window-Functions SELECT KNR, ABS(AVG(Flaeche) OVER () - Flaeche) AS Abweichung FROM kontinente Bearbeitet 26. März 20205 j von PVoss
26. März 20205 j Autor Danke habs mithilfe eines Klassenkameraden nun so gelöst: select name,flaeche - (select avg(flaeche)from kontinent)as abweichung from kontinent; eigentlich einfach, ich weiß nicht warum ich manchmal nicht auf solche einfachen lösungen komme -.-
26. März 20205 j Streng genommen brauchst du aber noch das abs(), damit die Abweichung immer größergleich 0 ist .
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.