sum | order | limit ?

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

  • sum | order | limit ?

    ich versuche gerade eine rangliste zu erstellen. das grundlegende system der rangliste war nicht so schwer. mit den bedingungen komme ich aber jetzt nicht mehr klar.

    ich habe folgende tabellen:
    mitglieder ( id | name | ...)
    turniere ( id | art | veranstalter | ...)
    platzierungen ( id | id_mitlgied | id_turnier | platzierung | punkte )

    ich habe eine eingabemaske. name und id der mitglieder wird angezeigt. man muß nur die platzierung eingeben, die punkte werden dazu automatisch eingefügt. (das funktioniert auch)

    folgende bedingungen schaffe ich nicht in die abfrage einzubauen. vielleicht kann mir jemand einen hinweis geben?
    rangliste:
    -) turnier.art muß '2' oder '3' sein, und
    -) nur die 2 besten wertungen (platzierungen) je veranstalter werden gezählt!!!

    meine bisherige abfrage (verkürzt, ohne fehlversuche):
    PHP-Code:
    SELECT m.nameSUM(p.punkte) AS Punkte 
    FROM mitglieder m
    platzierungen p 
    WHERE p
    .id_mitglied m.id 
    GROUP BY m
    .id 
    ORDER BY Punkte DESC
    m.name ASC 
    wie gesagt: nur die 2 besten platzierungen je veranstalter
    zuerst sortieren, dann limitieren und dann addieren?

  • #2

    nur die 2 besten wertungen pro veranstalter

    muss ich das mit einer subselect abfrage machen oder
    kann ich sortieren und limitieren in der join abfrage oder
    bin ich überhaupt auf dem holzweg

    Kommentar


    • #3
      habe jetzt meine abfrage folgendermaßen geändert:
      PHP-Code:
      SELECT m.namep.id_turnierp.punktet.veranstalter 
      FROM mitglieder m
      platzierungen pturniere t 
      WHERE p
      .id_mitglied m.oefv_nr 
      GROUP BY p
      .id 
      ORDER BY m
      .name ASCt.veranstalter p.id_turnierp.punkte 
      was rauskommt schaut ungefähr so aus:
      Pers1 | 1 | 40 | 6
      Pers2 | 1 | 30 | 6
      Pers3 | 1 | 40 | 6
      Pers3 | 2 | 30 | 6
      Pers3 | 3 | 10 | 6
      Pers3 | 4 | 5 | 6
      Pers4 | 1 | 50 | 6
      was ich jetzt noch brauche: zb. bei person 3 nur die besten 2 werte ( 40 und 30)


      mysql version 3.23.57

      Kommentar

      Lädt...
      X