Hallo,
ich habe heute von der Uni aus eine Aufgabe bekommen, in der es darum geht, aus folgender Tabelle:
PRES_NAME|HOBBY
Adams J Q|Billiards
Adams J Q|Swimming
Adams J Q|Walking
Arthur C A|Fishing
Cleveland G|Fishing
Coolidge C|Fishing
Coolidge C|Golf
Coolidge C|Indian Clubs
Coolidge C|Mechanical Horse
Coolidge C|Pitching Hay
Eisenhower D D|Bridge
Eisenhower D D|Golf
...|...Das Hobby auszulesen, dass am meisten ausgeführt wird, zusammen mit den Namen der Presidenten, die dieses Hobby ausüben.
Mein Ansatz war nun der folgende:
Dabei bekomme ich allerdings immer den Fehler: Nested aggregate functions are not allowed
Folgender Ansatz war das mit einem Subquery zu lösen:
Dabei kommt der Fehler: multiple rows in singleton select
An dieser Stelle komme ich leider nicht mehr weiter. Ich möchte keine Explizite Lösung zu dem Problem haben, da mir das beim lernen nicht wirklich weiter helfen würde, aber ein kleiner Anstoß, wie man dieses Problem lösen könnte wäre doch sehr hilfreich.
Vielen dank im Vorraus!
mfg
Gsus
ich habe heute von der Uni aus eine Aufgabe bekommen, in der es darum geht, aus folgender Tabelle:
Adams J Q|Billiards
Adams J Q|Swimming
Adams J Q|Walking
Arthur C A|Fishing
Cleveland G|Fishing
Coolidge C|Fishing
Coolidge C|Golf
Coolidge C|Indian Clubs
Coolidge C|Mechanical Horse
Coolidge C|Pitching Hay
Eisenhower D D|Bridge
Eisenhower D D|Golf
...|...
Mein Ansatz war nun der folgende:
Code:
SELECT HOBBY, PRES_NAME FROM PRES_HOBBY GROUP BY HOBBY HAVING COUNT(*) = MAX(COUNT(*))
Folgender Ansatz war das mit einem Subquery zu lösen:
Code:
SELECT HOBBY, COUNT(*) FROM PRES_HOBBY H GROUP BY HOBBY HAVING COUNT(*) = MAX((SELECT COUNT(*) FROM PRES_HOBBY GROUP BY HOBBY))
An dieser Stelle komme ich leider nicht mehr weiter. Ich möchte keine Explizite Lösung zu dem Problem haben, da mir das beim lernen nicht wirklich weiter helfen würde, aber ein kleiner Anstoß, wie man dieses Problem lösen könnte wäre doch sehr hilfreich.
Vielen dank im Vorraus!
mfg
Gsus