Soulclaw90 Geschrieben 6. Januar 2023 Teilen Geschrieben 6. Januar 2023 Hallo, Gibt es eine Seite oder Videos wo MYSQL gut erklärt wird das es auch einfach verstanden wird. Wir haben diese Woche damit angefangen und ein Skript bekommen und Datenbanken wo wir abfragen starten bzw üben sollen, die Datenbank war vorgegeben. Aber ich hab ziemliche Probleme wenn es um die aggregatfunktionen und group by,hsving etc. Geht Im Internet hab ich bisher keine verständlichen Erklärungen auf den Seiten gefunden. Gibt es da evtl gute tutorials oder Videos zu dem Thema? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Whiz-zarD Geschrieben 6. Januar 2023 Teilen Geschrieben 6. Januar 2023 Auf Youtube und Google findet man doch Tonnenweise Links und Videos zu SQL. Wo genau liegt das Problem? GROUB BY ist doch erstmal nur eine Gruppierung der Datensätze. Ich hab z.B. folgende Tabelle: ID Name Stadt Alter ------------------------------------- 1 Hans Hamburg 50 2 Petra Hamburg 23 3 Iris München 42 4 Peter Stuttgart 19 5 Felix München 25 Ich möchte jetzt wissen wie viele Menschen aus den jeweiligen Städten kommen: SELECT Stadt, COUNT(*) FROM Mitarbeiter GROUP BY Stadt Als erstes wird dann intern aus den oberen 5 Zeilen Gruppen gebildet. ID Name Stadt Alter -------------------------------------- Gruppe "Hamburg": 1 Hans Hamburg 50 2 Petra Hamburg 23 Gruppe "München": 3 Iris München 42 5 Felix München 25 Gruppe "Stuttgart": 4 Peter Stuttgart 19 Da diese Gruppen so nicht ausgegeben werden können, müssen jetzt Aggregatfunktionen, wie z.B. COUNT, AVG, MIN oder MAX verwendet werden, um aus den Gruppen einzelne Zeilen zu machen. In meinem Beispiel möchte ich die Anzahl der Zeilen pro Gruppe zählen. Also COUNT(*). Als Ergebnis erhalte ich dann, wie viele Mitarbeiter aus den jeweiligen Städten kommen. Stadt COUNT(*) ------------------------ Hamburg 2 München 2 Stuttgart 1 Möchte ich z.B. das Durchschnittsalter der Mitarbeiter, gruppiert nach den Städten haben, muss ich anstatt COUNT(*) nun AVG(Alter) angeben: SELECT Stadt, AVG(Alter) FROM Mitarbeiter GROUP BY Stadt Stadt AVG(Alter) ------------------------ Hamburg 36,5 München 33,5 Stuttgart 19 Das HAVING ist noch mal eine Filterung auf die Gruppierung selber. Ich möchte alle Städte auflisten, wo nur eine einzige Person arbeitet: SELECT Stadt FROM Mitarbeiter GROUP BY Stadt HAVING COUNT(*) = 1 Stadt ----- Stuttgart Ansonsten kann man doch alles hier sehr gut nachlesen: https://www.w3schools.com/sql/sql_groupby.asp Oder hier: https://www.geeksforgeeks.org/sql-group-by/ Oder hier: https://www.sqltutorial.org/sql-group-by/ Von der Uni Kaiserslautern gibt es auch ein kleines Spiel, um SQL zu lernen. Vielleicht ist dies auch was für dich: https://sql-island.informatik.uni-kl.de/ Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
evgnb Geschrieben 8. Februar 2023 Teilen Geschrieben 8. Februar 2023 was mir persöhnlich geholfen hat war diese serie von videos außerdem solltest du dir das anschauen und notizen machen (leider gibts sowas nur in englischen sprache) zumindest habe ich keine deutsche variante gefunden Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
FISI-Prüfer Geschrieben 7. Juni 2023 Teilen Geschrieben 7. Juni 2023 Bei W3School ist das sehr übersichtlich erklärt. Schau doch mal rein. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.