sql >> データベース >  >> RDS >> Mysql

MySQL-フィールドの最大値を持つ行を選択する方法

    ネクタイをしたい場合は、次のようにすることができます:

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

    これを集計することで、レベルごとに1つの行を取得できます:

    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;
    

    これにより、ユーザー(複数いる場合)が1つのフィールドにまとめられます。



    1. ケースとデコード

    2. MariaDB UCASE()の説明

    3. 安全なTO_NUMBER()

    4. SQL ServerでFORMAT()を使用するときに不変カルチャを指定する方法