jo: höchsten wert bei GROUP BY anzeigen

guten morgen alle miteinand,

Folgender query zeigt die Liste aller Spieler mit Punktzahl an.

  
$q="SELECT * FROM `player` GROUP BY `player_id` ORDER BY `score` DESC ";  

Das Problem ist das nur der erste Wert (score) aus der Tabelle angezeigt wird, ich würde aber gerne den höchsten Wert anzeigen.

Kann ich noch eine Kondition bei GROUP BY machen oder wie geht das ?

gruß
jo

  1. Hallo

    SELECT Maximum(Score) AS MaxScore FROM player Group BY player_id;

    Gruß

  2. Hallo jo!

    Folgender query zeigt die Liste aller Spieler mit Punktzahl an.

    Nein, du weist lediglich der Variablen $q einen Wert zu.

    $q=[...];

    ~~~sql
      
    SELECT * FROM `player` GROUP BY `player_id` ORDER BY `score` DESC;  
    
    

    Bitte verwende eine geeignete Syntaxdarstellung.

    ℆, ℒacℎgas

    --
    Bei der intendierten Realisierung der linguistischen Simplifizierung
    des regionalen Idioms resultiert die Evidenz der Opportunität extrem
    apparent, den elaborierten und quantitativ opulenten Usus nicht assi-
    milierter Xenologien konsequent zu eliminieren!
  3. Hallo Jo,

    SELECT * FROM player GROUP BY player_id ORDER BY score DESC ";

      
    dieses Statement wird von so ziemlich jedem Datenbankmanagementsystem (DBMS) außer MySQL als fehlerhaft zurückgewiesen und nicht ausgeführt. In einer Abfrage mit GROUP BY dürfen nur Spalten vorkommen, nach denen gruppiert wird oder auf die eine [Aggregatsfunktion](http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html) angewendet wird.  
      
    
    > Das Problem ist das nur der erste Wert (score) aus der Tabelle angezeigt wird, ich würde aber gerne den höchsten Wert anzeigen.  
      
    Nein, es wird nicht der erste Wert angezeigt, es wird ein zufälliger Wert angezeigt, siehe [MySQL-Doku](http://dev.mysql.com/doc/refman/5.0/en/group-by-hidden-fields.html).  
      
    Verwende die Deinem Problem angemessene Aggregatsfunktion (die sieht fast so aus, wie der Tipp von Oliver).  
      
      
    Freundliche Grüße  
      
    Vinzenz