Ankündigung

Einklappen
Keine Ankündigung bisher.

SQL Abfrage mit SUM

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Cyclestores
    hat ein Thema erstellt SQL Abfrage mit SUM.

    SQL Abfrage mit SUM

    Hallo liebe Leute,

    ich habe wiedermal ein kleines Problem. Ich habe folgende Abfrage,und Sie funktioniert auch
    PHP-Code:
    $sql_gesamt=mysql_query("SELECT  Team, Rennen , SUM(Punkte) AS Best8 FROM mannschaft

     WHERE (SELECT COUNT(*) FROM mannschaft AS t WHERE t.Team=mannschaft.Team AND t.Punkte >= mannschaft.Punkte) <=8
                                       GROUP BY  Team



                                       ORDER BY Best8 DESC





                                        "
    )  OR DIE (mysql_error()); 
    Nun möchte ich es so ändern, das die Summe nur aus den besten 8 Ergebnissen gebildet wird. So das die Ergebnisse die mehr sind nicht berücksichtigt werden.
    Jetzt werden die, die mehr als 8 Ergebnisse haben ausgeblendet.

    Hat Jemand einen Hinweis oder eine Idee?

    Vielen Dank im Voraus

  • Cyclestores
    antwortet
    Zitat von akretschmer Beitrag anzeigen
    Bitte was?

    Notfalls frag mich.

    Ich frage dich

    Einen Kommentar schreiben:


  • akretschmer
    antwortet
    Zitat von Cyclestores Beitrag anzeigen
    Leider bietet mein Provider nur eine SQL Umgebung.
    Bitte was?

    Notfalls frag mich.

    Einen Kommentar schreiben:


  • Cyclestores
    antwortet
    Zitat von akretschmer Beitrag anzeigen
    Das SQL ist syntaktisch falsch.



    Die besten 8 Ergebnisse je Team, oder? Tausche MySQL gegen eine DB, die analytische Funktionen (Window-Funktionen) kann, z.B. PostgreSQL. Damit ist das trivial.
    Leider bietet mein Provider nur eine SQL Umgebung.

    Einen Kommentar schreiben:


  • akretschmer
    antwortet
    Zitat von Cyclestores Beitrag anzeigen
    Hallo liebe Leute,

    ich habe wiedermal ein kleines Problem. Ich habe folgende Abfrage,und Sie funktioniert auch
    PHP-Code:
    $sql_gesamt=mysql_query("SELECT  Team, Rennen , SUM(Punkte) AS Best8 FROM mannschaft

     WHERE (SELECT COUNT(*) FROM mannschaft AS t WHERE t.Team=mannschaft.Team AND t.Punkte >= mannschaft.Punkte) <=8
                                       GROUP BY  Team



                                       ORDER BY Best8 DESC





                                        "
    )  OR DIE (mysql_error()); 
    Das SQL ist syntaktisch falsch.

    Nun möchte ich es so ändern, das die Summe nur aus den besten 8 Ergebnissen gebildet wird.
    Die besten 8 Ergebnisse je Team, oder? Tausche MySQL gegen eine DB, die analytische Funktionen (Window-Funktionen) kann, z.B. PostgreSQL. Damit ist das trivial.

    Einen Kommentar schreiben:


  • ChristianK
    antwortet
    Wie definieren sich die besten 8 Ergebnisse? Anhand der Punkte?

    Dann machst du einen Query, der dir die 8 besten Ergebnisse holt (Order By, Limit) und danach bildest du die Summe davon.

    Das benötigt vermutlich einen Subquery dazu.

    Einen Kommentar schreiben:


  • Cyclestores
    antwortet
    Zitat von ChristianK Beitrag anzeigen
    Och komm schon, sum of top n sql bei Google eingeben?
    Das hatte ich schon leider reicht mein Verständnis nicht aus um die Summe nur aus den Top 8 zu bilden.

    Einen Kommentar schreiben:


  • ChristianK
    antwortet
    Och komm schon, sum of top n sql bei Google eingeben?

    Einen Kommentar schreiben:

Lädt...
X