Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL - So wählen Sie Zeilen mit dem maximalen Wert eines Felds aus

Wenn Sie Bindungen erhalten möchten, können Sie Folgendes tun:

select s.*
from scores s
where s.score = (select max(s2.score) from scores s2 where s2.level = s.level);

Sie könnten eine Zeile pro Ebene erhalten, indem Sie Folgendes aggregieren:

select s.level, s.score, group_concat(s.user_id)
from scores s
where s.score = (select max(s2.score) from scores s2 where s2.level = s.level)
group by s.level, s.score;

Dies kombiniert die Benutzer (falls es mehr als einen gibt) in einem einzigen Feld.