Datenbank Forum - für Anfänger und Profis

Willkommen im Datenbank Forum von Datenbanken-verstehen.de - Das Datenbank, Data Warehouse & Business Intelligence Forum!

Das Datenbank Forum für Anfänger und Profis ist eine Community zu den Themen Datenbanken, Data Warehouse & Business Intelligence. Nimm teil an der Community von Datenbanken-verstehen.de und tausch dich mit deinen Fragen und Lösungen mit anderen Nutzern aus.

Als registrierter Benutzer genießt Du viele Vorteile, wie

  • den vollen Zugang zu allen Foren und Unterforen
  • Kostenloses Lernmaterial inkl. Lösungen zum Thema Datenbanken
  • Zugriff auf DB-Tutorials, Best Practices und SQL-Snippets

Bevor Du einen Beitrag verfassen möchtest, kannst Du dich einfach kostenlos registrieren.

oder Einloggen mit



Beachte bitte die Forenregeln von Datenbanken-verstehen.de. Wir wünschen Dir viel Spaß im Datenbank Forum! - Dein Datenbanken-verstehen.de-Team

SQL MAX in Verbindung mit GROUP BY

Alles zur Datenbankentwicklung im MySQL-Umfeld...

SQL MAX in Verbindung mit GROUP BY

Beitragvon nikita » Mo 26. Aug 2019, 17:18

Schönen guten Tag,

Ich komme einfach nicht auf die richtige Lösung einer Aufgabe die mit meinem Studium zu tun hat. Ich bin absoluter Anfänger mit MySQL und während ich alle anderen Aufgaben recht schnell lösen konnte hänge ich seit einer Woche an dieser und schaffe es einfach nicht.

Ich habe eine Datenbank mit zwei Tabellen:

Training:
Mitglied_MitglNr
Datum
Uebung
Gewicht
Wiederholungen

Mitglied:
MitglNr
Name
Vorname
Adresse

Ich habe nun die Aufgabe für eine bestimmte Übung für jedes Mitglied die maximale Leistung (Gewicht * Wiederholungen) auszugeben mit Name, Datum, usw. …

Mein Versuch sieht wie folgt aus:

Code: Alles auswählen
SELECT Name, Vorname, Datum, Uebung, Max( Wiederholungen*Gewicht) as Leistung
FROM training join mitglied
where Uebung = Uebungx
and Mitglied_MitglNr = MitglNr
group by Mitglied_MitglNr
order by Leistung desc, Datum;


Die Ausgaben stimmen aber nicht mal im Ansatz. Ich habe versucht das ganze Stück für Stück aufzubauen um den Fehler zu finden.

Bis hier hin stimmt die Aufgabe (ich habe etwas mit join/ inner join, where/on probiert aber ohne Unterschiede zu erzielen)

Code: Alles auswählen
SELECT MitglNr, Name, Vorname, Datum, Uebung,(Wiederholungen*Gewicht) as Leistung,Gewicht, Wiederholungen
FROM datfit_thoele_golembek.training inner join datfit_thoele_golembek.mitglied
on (Mitglied_MitglNr = MitglNr)
 and (Uebung = 'Beinstrecker')
where
Mitglied_MitglNr= 1451


Ich habe die Abfrage auf eine Mitgliedsnummer eingeschränkt und die max funktion sowie group by entfernt. Die Ausgabe ist dann noch korrekt wenn ich es manuell verlgeiche mit der mir vorliegenden Tabelle in Excel. Füge ich max ein wie im oberen code stimmt zwar die Leistung, aber das Datum passt nicht. Es wird einfach das älteste Datum angezeigt, die maximale Leistung wurde aber ein einem anderen Tag erzielt. Die Zeilen werden also anscheinend miteinander vermischt. Wenn dann noch Group by dazu kommt ist einfach alles durcheinander. Dann stimmt zwar die Anzahl der Ergebnisse (500 Mitglieder und es gibt 500 Ausgaben) aber da passt nichts zueinander. Die Tabellen sollten korrekt sein. Es gibt in der Mitglied Tabelle 500 Einträge mit Name etc. und ca. 60.000 Einträge in Training.

Ich habe einfach keine Idee woran das liegt. :?: :?: Ich bin für jeden Tipp dankbar!
nikita
 
Beiträge: 2
Registriert: Mo 26. Aug 2019, 17:00

Re: SQL MAX in Verbindung mit GROUP BY

Beitragvon nikita » Mo 26. Aug 2019, 22:44

hat sich erledigt ,konnte es lösen, kann auch gerne gelöscht werden
nikita
 
Beiträge: 2
Registriert: Mo 26. Aug 2019, 17:00

Re: SQL MAX in Verbindung mit GROUP BY

Beitragvon SQLUnion » Mi 4. Sep 2019, 19:29

Hallo nikita,

kannst Du noch uns deinen Lösungsweg verraten?

Gruß
SQLUnion
SQLUnion
 
Beiträge: 202
Registriert: Fr 1. Nov 2013, 15:54


Zurück zu MySQL

 


  • Related topics
    Antworten
    Zugriffe
    Letzter Beitrag

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

  • Jetzt Fan werden
  • Newsletter abonnieren? Hier anmelden!

    Alle Informationen aus dem Portal, Blog und Forum in einem Newsletter!

    E-Mail-Adresse: