カテゴリー、収益、トップブランド、トップブランドの収益、セカンドブランド、セカンドブランドの収益などを、5 +以上、一気にすべてのカテゴリに戻したいと考えています。今すぐ各ブランドの行があります各カテゴリのカテゴリ、収益、トップブランド、および収益を1行に戻すにはどうすればよいですか?
SELECT
cats.category
cats.revenue
brands.rank
brands.brand
brands.revenue_brand
FROM
(SELECT
category, sum(revenue) as revenue_total
FROM sales
GROUP BY category
) cats
JOIN
(SELECT
category,
brand,
sum(revenue) as revenue_brand
rank() over (PARTITION BY category ORDER BY revenue_brand DESC) as rank
FROM sales
GROUP BY category, brand
) brands on cats.category = brands.category
WHERE brands.rank <=5
ランクごとに1つの行ではなく1つの行を作成するにはどうすればよいですか?
サンプルデータを提供しません。なぜあなたは答えがありません**、しかし**私はあなたが[このブログ]を読むことをお勧めします(http://sqlblog.com/blogs/maria_zakourdaev/archive/2017/11/07/dynamic-pivot-あなたが自分自身の責任を負うことを期待しています。 –