Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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?

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/

  • 1 Monat später...

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

 

  • 3 Monate später...

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.