sql >> Databasteknik >  >> RDS >> Mysql

MySQL - Hur man väljer rader med maxvärde för ett fält

Om du vill få slips kan du göra något så här:

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

Du kan få en rad per nivå genom att sammanställa detta:

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;

Detta kombinerar användarna (om det finns fler än en) i ett enda fält.



  1. Oracle-tabellkolumnnamn med mellanslag

  2. Infoga flera rader med PDO-förberedda uttalanden

  3. Hur designar man kategorier och underkategorier i MySQL?

  4. Hur får man en räkning även om det inte finns några resultat som motsvarar mysql?