Mysql
 sql >> Database >  >> RDS >> Mysql

MySQL - Come selezionare le righe con il valore massimo di un campo

Se vuoi ottenere pareggi, puoi fare qualcosa del genere:

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

Potresti ottenere una riga per livello aggregando questo:

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;

Questo combina gli utenti (se ce ne sono più di uno) in un unico campo.