tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
760
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Thomas- Thomas- ist offline Grünschnabel
    Registriert seit
    Feb 2010
    Beiträge
    3
    Hallo Leute,

    ich habe zwei Tabellen.

    Tabelle1
    tippspiel_2009_tipppunkte
    gp_id, user_ID, tipp_punkte
    AUS, 17, 30
    BAH, 17, 26
    CHI, 17, 4
    AUS, 18, 13
    BAH, 18, 6
    GER, 18, 14
    AUS, 19, 33
    BAH, 19, 26
    GER, 19, 4
    AUS, 20, 31
    TUE, 20, 21
    GER, 20, 14
    BRA, 21, 2
    GER, 21, 6
    TUE, 22, 9

    Tabelle 2:
    tippspiel_2009_user
    user_ID, user_name,syndicate_id
    17, Ernst, 8
    18, Fred, 3
    19, EinToller, 4
    20, Achim, 4
    21, Bernd, 4
    22, Hans, 4

    Ich möchte immer die 3 höchsten ges_punkte zusammenzählen und der syndicate_id zuordnen, diese dann noch nach der syndicate_id sortieren.
    user_ID<10 sowie syndicate_id<1 soll ausgeschlossen werden. Die ges_punkte werden bereits ausgerechnet.

    Meine derzeitige Abfrage:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    
    SELECT syndicate_id, sum( ges_punkte ) AS syn_punkte
    FROM (
      SELECT u.syndicate_id, u.user_name, IFNULL( sum( punkte.tipp_punkte ) , 0 ) AS ges_punkte
      FROM tippspiel_2008_tipppunkte AS punkte
      LEFT JOIN tippspiel_2008_user AS u
      USING ( user_ID )
      WHERE u.user_ID >9
      GROUP BY u.user_ID
      ORDER BY ges_punkte DESC
    )points
    WHERE syndicate_id >0
    GROUP BY syndicate_id
    ORDER BY syn_punkte DESC

    Das Problem hierbei ist ich rechne alle ges_punkte zusammen, ich will aber halt nur aus jeder Gruppe die 3 maimalen Werte.

    Ergebnis sollte dann in etwa so aussehen.

    syndicate_id, syn_punkte
    4, 138
    8, 60
    3, 33

    jetzt ist es
    syndicate_id, syn_punkte
    4, 146
    8, 60
    3, 33

    Ich befürchte fast, mysql kann das nicht allein und man wird mit php nachhelfen müssen.

    Gruß Thomas
     

  2. #2
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Dan mach ein Subselect mit absteigender Sortierung und LIMIT 3
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  3. #3
    Thomas- Thomas- ist offline Grünschnabel
    Registriert seit
    Feb 2010
    Beiträge
    3
    Das habe ich schon versucht, aber dann bekomme ich nicht von jedem Datensatz 3 Datensätze sondern insgesamt 3.
     

  4. #4
    Thomas- Thomas- ist offline Grünschnabel
    Registriert seit
    Feb 2010
    Beiträge
    3
    Danke, hat sich erledigt.
     

Ähnliche Themen

  1. Werte aus MySQL Zeilen (spalte_xy) addieren
    Von hookem1206 im Forum PHP
    Antworten: 4
    Letzter Beitrag: 08.06.09, 13:58
  2. MySQL - Werte aus Reihe addieren und in neues Feld schreiben
    Von Autun im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 15.03.09, 22:44
  3. Werte addieren
    Von vsitor im Forum Relationale Datenbanksysteme
    Antworten: 4
    Letzter Beitrag: 20.10.05, 12:39
  4. Werte addieren
    Von kesnw im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 14.06.05, 15:43
  5. Werte addieren
    Von medicus41 im Forum PHP
    Antworten: 9
    Letzter Beitrag: 07.04.02, 19:46