SQL Server: ROLLUP

Bei der Verwendung ROLLUP in SQL server, wie bekomme ich die subtotal-Zeilen über die Detail-Zeilen?

Dies ist, was würden Sie in der Regel, wenn ROLLUP:

Group                Name                 Total Sales
----------------     ---------------      ------------
Europe               France                74569.00
Europe               Germany               59456.00
Europe               United Kingdom        78327.00
Europe               NULL                 212352.00        << sub total row for Europe appears **after** all the individual rows for Europe.
North America        Northwest            208774.00
North America        Southeast            145477.00
North America        Southwest            164232.00
North America        NULL                 518483.00
Pacific              Australia             93403.00
Pacific              NULL                  93403.00

Dies ist das erwartete Ergebnis festgelegt:

Group                Name                 Total Sales
----------------     ---------------      ------------
Europe               NULL                 212352.00        << sub total row for Europe needs to appear **before** the individual rows for Europe.
Europe               France                74569.00
Europe               Germany               59456.00
Europe               United Kingdom        78327.00
North America        NULL                 518483.00
North America        Northwest            208774.00
North America        Southeast            145477.00
North America        Southwest            164232.00
Pacific              NULL                  93403.00
Pacific              Australia             93403.00

Abfrage verwendet:

SELECT      [Group], [Name], SUM([SalesYTD]) AS 'Total Sales'
FROM        #TempTable
GROUP BY    [Group], [Name] WITH ROLLUP 

Irgendwelche Ideen, wie wir könnten diese Ausgabe?

  • . . Kannst du die Abfrage, die Sie verwenden, um erste Ergebnisse?
  • Bitte sei klar, in "Zwischensumme Zeilen über die Detail-Zeilen"..??
  • Ich habe es zu der Frage.
  • Ich beziehe mich auf die zwischensummenzeilen angezeigt, die auf das Ergebnis festgelegt, wenn ROLLUP. Ich habe auch den text in der Frage: Angabe der Zeilen, auf die ich mich beziehe. Tks.
  • WITH ROLLUP wird in einer zukünftigen version von SQL Server.
  • Ich denke, einer von uns hatte gelesen das Unrecht. Soweit ich sehen kann, GROUP BY ALL ist veraltet, der rest nicht.

InformationsquelleAutor slayernoah | 2013-11-01
Schreibe einen Kommentar