Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL - Comment sélectionner des lignes avec la valeur maximale d'un champ

Si vous voulez obtenir des égalités, vous pouvez faire quelque chose comme ceci :

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

Vous pourriez obtenir une ligne par niveau en agrégeant ceci :

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;

Cela combine les utilisateurs (s'il y en a plusieurs) dans un seul champ.