Ich möchte Kategorie, Umsatz, Top-Marke, Umsatz für die Top-Marke, zweite Marke, Umsatz für die zweite Marke, etc. bis zu 5 +, idealerweise alle in einer Zeile für diese Kategorie. Im Moment habe ich eine Zeile für jeden der Top-MarkenWie kann ich Kategorie, Umsatz, Top-Marken und deren Umsatz für jede Kategorie in einer Zeile zurückgeben?
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
Wie kann ich eine Zeile für jede Kategorie statt eine Zeile für jeden Rang schaffen?
Sie liefern keine Beispieldaten ot desir ed Ergebnis, das ist wahrscheinlich, warum Sie keine Antworten haben, ** aber auch ** Ich schlage vor, Sie lesen [dieses Blog] (http://sqlblog.com/blogs/maria_zakourdaev/archive/2017/11/07/dynamic-pivot- in-amazon-redshift-don-t-blame-datenbanken-für-enttäuschend-du-dir-selbst-bedauern-zu-erwarten-zu-viel-von-ihnen.aspx) –