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

MySQL:テーブル内の各グループのn番目に高い値を取得します

    より良い方法があることを願っていますが、2つのサブクエリを交差させるか、しないことでこれを取得できます:

    Select mytable.Store, mytable.Dept, mytable.Order, mytable.Amount
    from mytable m
    inner join 
      (Select Amount from mytable n where m.store = n.store and m.dept = n.dept order by Amount desc limit 2) as high_enough
      on mytable.Amount = high_enough.Amount
    left join 
       (Select Amount from mytable n where m.store = n.store and m.dept = n.dept order by Amount desc limit 2) as too_high
      where too_high.Amount is null
    group by Store, Dept;
    



    1. MacOSXでのMysql5.6の頭痛の種

    2. PostgreSQL9.0のパーティションテーブルのサイズ

    3. コマンドプロンプトでSELECTクエリからの出力をきれいにする方法は?

    4. R12/R12.2のOracleForms