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

SQL-最大値(+ group by)の列を持つ行を選択する方法

    high_valが最も高い行を選択したいようです。 カテゴリごとに。その場合は、row_number()を使用できます high_valに従ってカテゴリ内の各行をランク付けします 値を入力し、最もランクの高い行のみを選択します。つまり、rn = 1

    select * from (
        select row_number() over (partition by category order by high_val desc, date asc) rn, *
        from mytable
        where something = 'avalue'
    ) t1 where rn = 1
    


    1. MySQLでテーブルの照合を表示する方法

    2. Pythonエンコーディングmysql:(

    3. 衝突することなくランダムな整数を生成する

    4. 請求書テーブルのデザイン