sql >> Databáze >  >> RDS >> Mysql

MySQL - Jak vybrat řádky s maximální hodnotou pole

Pokud chcete získat kravaty, můžete udělat něco takového:

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

Můžete získat jeden řádek na úroveň, když sečtete toto:

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;

To sloučí uživatele (pokud jich je více) do jednoho pole.



  1. Jak generovat data v MySQL?

  2. Proč tento jednoduchý dotaz MySQL nevrací řádek?

  3. Mohu mít primární klíč bez seskupeného indexu? Mohu mít také vícehodnotový seskupený index?

  4. Nejlepší způsob, jak uložit data XML v databázi MySQL, s určitými specifickými požadavky