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

SQL Group BY、各グループの上位N項目

    ;WITH s AS 
    (
      SELECT StoreID, UPCCode, tds, rn = ROW_NUMBER()
      OVER (PARTITION BY StoreID ORDER BY tds DESC)
      FROM 
      (
        SELECT StoreID, UPCCode, tds = SUM(TotalDollarSales)
        FROM Sales
        GROUP BY StoreID, UPCCode
      ) AS s2
    )
    SELECT StoreID, UPCCode, TotalDollarSales = tds
    FROM s
    WHERE rn <= 5
    ORDER BY StoreID, TotalDollarSales DESC;
    


    1. PostgreSQLで遅いクエリを処理する

    2. PostgreSQLで配列を比較する方法

    3. ORDERBY句を使用してビューを作成します

    4. oracle plsql varchar2変数にサイズが必要なのに、パラメータには必要ないのはなぜですか。