Hallo,
ich möchte aus meiner mySQL Tabelle "vl_ergebnisse" in der es die Spalte "mnr"-Mitgliedsnummer und "punte"-Punkte gibt die Top Werte auslesen. Als Ergebnis benötige ich eine sortierte Liste der Mitgliedsnummern mit Punktergebnissen. Hierbei soll die Sortierung abhängig der besten 5 Ergebnisse je Person erfolgen. Dies funktioniert auch schon so:
Nun möchte ich aber auch die Personen in der Liste berücksichtigen, die noch keine 5 Ergebnisse vorweisen können. Bei 2 Ergebnissen erfolgt die Einsotierung mit dem Durchschnitt dieser 2 Werte und bei 3 Ergebnissen, mit dem Durchschnitt dieser 3 Werte. Wenn jemand mehr als 5 Ergebnisse hat, so sollen aber auch nur die besten 5 berücksichtigt werden.
Kann mir hierzu jemand konstruktiv weiter helfen?
ich möchte aus meiner mySQL Tabelle "vl_ergebnisse" in der es die Spalte "mnr"-Mitgliedsnummer und "punte"-Punkte gibt die Top Werte auslesen. Als Ergebnis benötige ich eine sortierte Liste der Mitgliedsnummern mit Punktergebnissen. Hierbei soll die Sortierung abhängig der besten 5 Ergebnisse je Person erfolgen. Dies funktioniert auch schon so:
Code:
SELECT mnr, avg(punkte) AS durch FROM vl_ergebnisse gr
WHERE punkte >= (SELECT punkte FROM vl_ergebnisse
WHERE mnr = gr.mnr
ORDER BY punkte DESC LIMIT 1 OFFSET 4)
GROUP BY mnr ORDER BY durch DESC");
Nun möchte ich aber auch die Personen in der Liste berücksichtigen, die noch keine 5 Ergebnisse vorweisen können. Bei 2 Ergebnissen erfolgt die Einsotierung mit dem Durchschnitt dieser 2 Werte und bei 3 Ergebnissen, mit dem Durchschnitt dieser 3 Werte. Wenn jemand mehr als 5 Ergebnisse hat, so sollen aber auch nur die besten 5 berücksichtigt werden.
Kann mir hierzu jemand konstruktiv weiter helfen?
Zuletzt bearbeitet: