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

SQL Server 2012:複数の基準に基づいて上位 n を選択

    row_number() でこれを行うことができます :

    select region, month, MemberId, sales
    from (select region, month, MemberId, sum(sales) as sales
                 row_number() over (partition by region, month order by sum(sales) desc) as seqnum
          from table t
          group by region, month, MemberId
         ) t
    where seqnum <= 2;
    


    1. SQLServerでCREATEINDEXステートメントを生成する

    2. SQLServer-合計された行のIDを取得します

    3. SQL結果テーブル、2番目のテーブルで一致SETタイプ

    4. mysqlではMBR内が正確ではありません